BasicFormatter is a type that abstracts formatting operations for a given formatting argument type and character type. Specializations of std::formatter are required to meet the requirements of BasicFormatter.
A BasicFormatter is a Formatter if it is able to format both const and non-const arguments.
[edit] RequirementsA type satisfies BasicFormatter if it is semiregular, meaning it satisfies:
And, given the following types and values, the expressions shown in the table below are valid and have the indicated semantics:
Type DefinitionCharT
a character type Arg
a formatting argument type Formatter
a Formatter type for types Arg
and CharT
OutputIt
a LegacyOutputIterator type ParseCtx
std::basic_format_parse_context<CharT> FmtCtx
std::basic_format_context<OutputIt, CharT> Value Definition f a value of type (possibly const-qualified) Formatter
g a value of type Formatter
arg an lvalue of type Arg
t a value of type convertible to (possibly const-qualified) Arg
parse_ctx an lvalue of type ParseCtx
satisfying all following conditions:
FmtCtx
Expression Return type Semantics g.parse(parse_ctx) ParseCtx::iterator
[
parse_ctx.begin(),
parse_ctx.end())
, parses the format-spec for type Arg
until the first unmatched character.FmtCtx::iterator
[
parse_ctx.begin(),
parse_ctx.end())
from the last call to f.parse(parse_ctx), andThe following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior LWG 3892 C++20 the value of pc.begin() was unclear if format-spec is not present made clearRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4