void clear() noexcept;
path& make_preferred();
Effects: Каждый directory-separator путь в общем формате преобразуется в preferred-separator.
[ Example:
path p("foo/bar"); std::cout << p << '\n'; p.make_preferred(); std::cout << p << '\n';
В операционной системе, где preferred-separatorстоит косая черта, вывод будет следующим:
"foo/bar" "foo/bar"
В операционной системе, где preferred-separatorиспользуется обратная косая черта, вывод будет следующим:
"foo/bar" "foo\bar"
— end example ]
path& remove_filename();
[ Example:
path("foo/bar").remove_filename(); // yields "foo/" path("foo/").remove_filename(); // yields "foo/" path("/foo").remove_filename(); // yields "/" path("/").remove_filename(); // yields "/"
— end example ]
path& replace_filename(const path& replacement);
[ Example:
path("/foo").replace_filename("bar"); // yields "/bar" on POSIX path("/").replace_filename("bar"); // yields "/bar" on POSIX
— end example ]
path& replace_extension(const path& replacement = path());
Effects:
Все существующие extension()([fs.path.decompose]) удаляются из пути в общем формате, затем
Если replacement не пусто и не начинается с точки, точка добавляется к имени пути в общем формате, затем
operator+=(replacement);.
void swap(path& rhs) noexcept;