path& operator/=(const path& p);
// On POSIX, path("foo") / ""; // yields "foo/" path("foo") / "/bar"; // yields "/bar" // On Windows, backslashes replace slashes in the above yields // On Windows, path("foo") / "c:/bar"; // yields "c:/bar" path("foo") / "c:"; // yields "c:" path("c:") / ""; // yields "c:" path("c:foo") / "/bar"; // yields "c:/bar" path("c:foo") / "c:bar"; // yields "c:foo/bar"
template<class Source>
path& operator/=(const Source& source);
template<class Source>
path& append(const Source& source);
template<class InputIterator>
path& append(InputIterator first, InputIterator last);