diff --git a/include/boost/filesystem/v3/path.hpp b/include/boost/filesystem/v3/path.hpp
index b0c8519..9ff2869 100644
--- a/include/boost/filesystem/v3/path.hpp
+++ b/include/boost/filesystem/v3/path.hpp
@@ -21,11 +21,12 @@
#include Returns: The inserter and extractor delimit the string with double-quotes ( Effects:
-
-path(lhs) /= rhs.
-path inserters
- and extractorsstd::ostream& operator<<(std::ostream & os, const path& p);
+
+path inserter
+ and extractor")
+to ensure that paths with embedded spaces will round trip correctly. Ampersand (&)
+is used as an escape character, so the path can itself contain double quotes.template <class Char, class Traits>
+std::basic_ostream<Char, Traits>& operator<<(std::basic_ostream<Char, Traits>& os, const path& p)
+
os << p.string();os <<
+ boost::io::quoted(p.string<std::basic_string<Char>>(), static_cast<Char>('&'));
Returns:
os
std::wostream& operator<<(std::wostream & os, const path& p);-
--Effects: -
-os << p.wstring();Returns: -
-os
std::istream& operator>>(std::istream & is, path& p);+
template <class Char, class Traits> +inline std::basic_istream<Char, Traits>& operator>>(std::basic_istream<Char, Traits>& is, path& p) +
--Effects: -
-std::string str;
- is >> str;
- p = str;Returns: -
-is
std::wistream& operator>>(std::wistream & is, path& p);-
-Effects: -
std::wstring str;
- is >> str;
+Effects: +
std::basic_string<Char> str;
+ is >> + boost::io::quoted(str, + static_cast<Char>('&'));
p = str;Returns:
@@ -3074,7 +3068,7 @@ multiple string types. His idea became the basis for the version 3 path design.<isDistributed under the Boost Software License, Version 1.0. See www.boost.org/LICENSE_1_0.txt
Revised -04 June 2010
+20 June 2010