Date
2017-03-19.19:35:20
Message id
8381

Content

Proposed resolution:

[fs.path.modifiers]

path& replace_filename(const path& replacement);

Effects: Equivalent to:

remove_filename();
operator/=(replacement);

[fs.path.nonmember]

void swap(path& lhs, path& rhs) noexcept;

Effects: Equivalent to: lhs.swap(rhs)

[fs.path.io]

template <class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const path& p);

Effects: Equivalent to: os << quoted(p.string<charT, traits>()).

[fs.path.io]

template <class charT, class traits>
basic_istream<charT, traits>&
operator>>(basic_istream<charT, traits>& is, path& p);

Effects: Equivalent to:

basic_string<charT, traits> tmp;
is >> quoted(tmp);
p = tmp;

[fs.op.copy]

void copy(const path& from, const path& to);
void copy(const path& from, const path& to, error_code& ec) noexcept;

Effects: Equivalent to: copy(from, to, copy_options::none) or copy(from, to, copy_options::none, ec), respectively.

[fs.op.copy_symlink]

void copy_symlink(const path& existing_symlink, const path& new_symlink);
void copy_symlink(const path& existing_symlink, const path& new_symlink,
  error_code& ec) noexcept;

Effects: Equivalent to: function(read_symlink(existing_symlink), new_symlink) or function(read_symlink(existing_symlink, ec), new_symlink, ec), respectively, where function is create_symlink or create_directory_symlink, as appropriate.