C++ 具名要求:格式化器 (Formatter)
来自cppreference.com
格式化器 (Formatter) 是对给定的格式化参数类型及字符类型抽象格式化操作的类型。除非另外标注,标准库所提供给的 std::formatter 特化均被要求符合 格式化器 (Formatter) 的要求。
格式化器 (Formatter) 能格式化 const 与非 const 的实参,这通常以提供接收 const 引用的 format
成员函数达成。
要求
一个类型满足格式化器 (Formatter) ,若它满足基本格式化器 (BasicFormatter) ,并且给定
-
Arg
,格式化参数类型 -
CharT
,字符类型 -
Formatter
,对于Arg
与CharT
的格式化器 (Formatter) 类型 -
OutputIt
,老式输出迭代器 (LegacyOutputIterator) 类型 -
f
,(可能为 const 的)Formatter
类型值 -
g
,Formatter
类型值 -
arg
,Arg
类型的左值 -
t
,可转换到(可能为 const 的)Arg
的类型的值 -
ParseContext
, std::basic_format_parse_context<CharT> 别名 -
FormatContext
, std::basic_format_context<OutputIt, CharT> 的别名 -
parse_ctx
,ParseContext
类型左值 -
format_ctx
,FormatContext
类型左值
表达式 | 返回类型 | 语义 |
---|---|---|
f.format(t, format_ctx) | FormatContext::iterator |
|
f.format(arg, format_ctx) | FormatContext::iterator |
同上,但不修改 |