Ticket #4485 (closed Patches: fixed)
boost.filesysten v3 breaks boost:::iostream::mapped_file
|Reported by:||ttan@…||Owned by:||danieljames|
|Milestone:||To Be Determined||Component:||iostreams|
|Version:||Boost Development Trunk||Severity:||Problem|
|Keywords:||filesystem v3 iostream mapped_file||Cc:|
boost:::iostream::mapped_file has been design so that when passing file path to the constructor or open(), it only accepts 3 types: std::string, boost::filesystem::path, boost::filesystem::wpath.
due to the late update to boost::filesystem v3, boost::filesystem::path is no longer templated, and wpath is gone. and as Windows uses UTF16, when a path is converted from utf16 to a certain ANSI/OEM code page(CP), causes information loss, for example, "Apress ©" in unicode would be converted to "Apress ?" in CP936, where code point 0x00a9(©) is lost, though it's a legal character in file name.
it amounts to that support for std::wstring in boost:::iostream::mapped_file is gone.
a patch is needed to remove the dependence on boost.filesystem v2, and revert to the support of std::wstring, which can be get from path.wstring() in boost::filesystem v3.
- Owner set to turkanis
- Component changed from None to iostreams
- Keywords filesystem added; filesysten removed
- Owner changed from turkanis to danieljames
- Status changed from new to assigned
- Milestone changed from Boost 1.44.0 to To Be Determined