1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // 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; };
- }
- }
|