diff options
Diffstat (limited to 'src/boost/libs/filesystem/example/mbpath.hpp')
-rw-r--r-- | src/boost/libs/filesystem/example/mbpath.hpp | 44 |
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; }; + } +} |