summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/filesystem/example/mbpath.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/filesystem/example/mbpath.hpp')
-rw-r--r--src/boost/libs/filesystem/example/mbpath.hpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/boost/libs/filesystem/example/mbpath.hpp b/src/boost/libs/filesystem/example/mbpath.hpp
new file mode 100644
index 00000000..f752b3fd
--- /dev/null
+++ b/src/boost/libs/filesystem/example/mbpath.hpp
@@ -0,0 +1,44 @@
+// Boost.Filesystem mbpath.hpp ---------------------------------------------//
+
+// Copyright Beman Dawes 2005
+
+// Use, modification, and distribution is subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// Encodes wide character paths as MBCS
+// See http://../doc/path.htm#mbpath for more information
+
+#include <boost/filesystem/path.hpp>
+#include <cwchar> // for std::mbstate_t
+#include <string>
+#include <locale>
+
+namespace user
+{
+ struct mbpath_traits;
+
+ typedef boost::filesystem::basic_path<std::wstring, mbpath_traits> mbpath;
+
+ struct mbpath_traits
+ {
+ typedef std::wstring internal_string_type;
+ typedef std::string external_string_type;
+
+ static external_string_type to_external( const mbpath & ph,
+ const internal_string_type & src );
+
+ static internal_string_type to_internal( const external_string_type & src );
+
+ static void imbue( const std::locale & loc );
+ };
+} // namespace user
+
+namespace boost
+{
+ namespace filesystem
+ {
+ template<> struct is_basic_path<user::mbpath>
+ { static const bool value = true; };
+ }
+}