C++ 具名要求:格式化器 (Formatter)
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    格式化器 (Formatter) 是对给定的格式化实参类型与字符类型抽象化格式化操作的类型。要求 std::formatter 的特化实现格式化器 (Formatter) 。
要求
一个类型满足格式化器 (Formatter) ,若它为半正则,意思是它满足:
- 可默认构造 (DefaultConstructible)
- 可复制构造 (CopyConstructible)
- 可复制赋值 (CopyAssignable)
- 可析构 (Destructible)
- 可交换 (Swappable)
而且给定
-  Arg,格式化实参类型
-  CharT,字符类型
-  Formatter,对于类型Arg与CharT的格式化器 (Formatter) 类型
-  OutputIt,老式输出迭代器 (LegacyOutputIterator) 类型
-  formatter,Formatter类型值
-  arg,Arg类型左值
-  t,可转换到(可能为 const )的Arg
-  ParseContext, std::basic_format_parse_context<CharT> 的别名
-  FormatContext, std::basic_format_context<OutputIt, CharT> 的别名
-  parse_context,ParseContext类型左值
-  format_context,FormatContext类型左值
| 表达式 | 返回类型 | 语义 | 
|---|---|---|
| formatter.parse(parse_context) | ParseContext::iterator | 
 | 
| formatter.format(t, format_context) | FormatContext::iterator | 
 | 
| formatter.format(arg, format_context) | FormatContext::iterator | 同上,但不修改  | 
- ↑ 这允许格式化器放出有意义的错误消息。