This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TS status.
Section: 8.6.1 [filesys.ts::path.io] Status: TS Submitter: FI-8 Opened: 2014-01-20 Last modified: 2017-07-30
Priority: Not Prioritized
View all issues with TS status.
Discussion:
Addresses: filesys.ts
"[Note: Pathnames containing spaces require special handling by the user to avoid truncation when read by the extractor. — end note]" sounds like a quoted manipulator as specified in the C++14 draft in [quoted.manip] would be useful.
Consider using quoted manipulators for stream insertion and extraction.
[2014-02-10, Daniel suggests wording]
[2014-02-12 Applied LWG/SG-3 Issaquah wording tweak to use ISO doc number for reference to C++14.]
Proposed resolution:
Change 8.6.1 [path.io] as indicated:
template <class charT, class traits> basic_ostream<charT, traits>& operator<<(basic_ostream<charT, traits>& os, const path& p);Effects:
os << quoted(p.string<charT, traits>())
.[Note: Pathnames containing spaces require special handling by the user to avoid truncation when read by the extractor. — end note][Note: Thequoted
function is described in ISO 14882:2014 §27.7.6. — end note] Returns:os
template <class charT, class traits> basic_istream<charT, traits>& operator>>(basic_istream<charT, traits>& is, path& p);Effects:
basic_string<charT, traits> tmp; is >> quoted(tmp); p = tmp;