3rdParty/boost/1.78.0/libs/filesystem/doc/v3.html
| | Filesystem Version 3
Introduction |
| HomeTutorialReferenceFAQReleasesPortabilityV4V3 IntroV3 DesignDeprecatedBug Reports |
Version 3 is a major revision of the Boost Filesystem library. Important changes include:
A single class path handles all aspects of internationalization, replacing the previous template and its path and wpath instantiations. Character types char, wchar_t, char16_t, and char32_t are supported. This is a major simplification of the path abstraction, particularly for functions that take path arguments.
New class path members include:
has_stem()has_extension()is_absolute(). This renames is_complete(), which is now deprecated.is_relative()make_preferred() New or improved operations functions include:
absolute(). This replaces the operations function complete(), which is now deprecated. Semantics are now provided for a Windows corner case where the base argument was not an absolute path. Previously this resulted in an exception being thrown.create_symlink() now supported on both POSIX and Windows.read_symlink() function added. Supported on both POSIX and Windows. Used to read the contents of a symlink itself.resize_file() function added. Supported on both POSIX and Windows. Used to shrink or grow a regular file.unique_path() function added. Supported on both POSIX and Windows. Used to generate a secure temporary pathname.Support for error reporting via error_code is now uniform throughout the operations functions.
Documentation has been reworked, including re-writes of major portions.
A new Tutorial provides a hopefully much gentler and more complete introduction for new users. Current users might want to review the three sections related to class path.
See the Deprecated Features page for transition aids that allow much existing code to compile without change using Version 3.
To ease the transition, Versions 2 and 3 both used to be included in the next several Boost releases. Version 2 was removed in Boost 1.50.0.
pathbasic_path and its specializations are replaced by a single class path. Thus any code, such as overloaded functions, that depends on path and wpath being two distinct types will fail to compile and must be restructured. Restructuring may be as simple as removing one of the overloads, but also might require more complex redesign.path objects rather than string or wstring objects:
root_name()root_directory()filename()stem()extension()Not all uses will fail; if the function is being called in a context that accepts a path, all is well. If the result is being used in a context requiring a std::string or std::wstring, then .string() or .wstring() respectively must be appended to the function call.
path::iterator::value_type and path::const_iterator::value_type is path rather than basic_string.std::wstring) are no longer supported.© Copyright Beman Dawes, 2009
Distributed under the Boost Software License, Version 1.0. See www.boost.org/LICENSE_1_0.txt