std::formatter(3) | C++ Standard Libary | std::formatter(3) |
NAME¶
std::formatter - std::formatter
Synopsis¶
Defined in header <filesystem>
template< class CharT > (since C++26)
struct formatter<std::filesystem::path, CharT>;
The template specialization of std::formatter for the std::filesystem::path
class
allows users to convert a pathname to its textual representation using
formatting
functions. This specialization is debug-enabled.
Member functions¶
set_debug_format enables to format the pathname as an escaped
string
(public member function)
parse parses the format specifier as specified by path-format-spec
(public member function)
format writes the formatted output as specified by path-format-spec
(public member function)
std::formatter<std::filesystem::path>::set_debug_format
constexpr void set_debug_format();
Allows the current object to format pathname as an escaped string.
std::formatter<std::filesystem::path>::parse
constexpr auto parse( std::basic_format_parse_context<CharT>& ctx )
-> std::basic_format_parse_context<CharT>::iterator;
Parses the format specifiers as a path-format-spec and stores the parsed
specifiers
in the current object.
Returns an iterator past the end of the path-format-spec.
std::formatter<std::filesystem::path>::format
template< class FormatContext >
auto format( const std::filesystem::path& p, FormatContext& ctx )
const
-> FormatContext::iterator;
Let s be p.generic<std::filesystem::path::value_type>() if the g option
is used,
otherwise p.native(). Writes s into ctx.out() as specified by
path-format-spec.
For character transcoding of the pathname:
* The pathname is transcoded from the native encoding for wide character
strings
to UTF-8 with maximal subparts of ill-formed subsequences substituted with
U+FFFD REPLACEMENT CHARACTER if
* std::is_same_v<CharT, char> is true,
* std::is_same_v<typename path::value_type, wchar_t> is true, and
* ordinary literal encoding is UTF-8.
* Otherwise, no transcoding is performed if std::is_same_v<typename
path::value_type, CharT> is true.
* Otherwise, transcoding is implementation-defined.
Returns an iterator past the end of the output range.
Notes¶
Feature-test macro Value Std Feature
__cpp_lib_format_path 202403L (C++26) formatting support for
std::filesystem::path
Example¶
This section is incomplete
Reason: no example
See also¶
formatter defines formatting rules for a given type
(C++20) (class template)
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |