std::formatter<range>
在标头 <format> 定义
|
||
template< ranges::input_range R, class CharT > requires (std::format_kind<R> != std::range_format::disabled) && |
(C++23 起) | |
Helper templates |
||
template< std::range_format K, ranges::input_range R, class CharT > struct range-default-formatter; |
(仅用于阐述*) | |
std::formatter 针对范围类型的模板特化,允许用户使用格式化函数将范围转换为元素汇集的文本表示或者一个字符串。
此特化派生于 range-default-formatter
<std::format_kind<R>, R, CharT>。
当 R 满足 input_range
,std::format_kind<R> 不是 std::range_format::disabled,并且 std::formattable<ranges::range_reference_t<R>, CharT> 为 true 时启用此特化。
此特化在 const R 实现 input_range
且 ranges::range_reference_t<const R> 实现 std::formattable<CharT> 时满足格式化器 (Formatter) 的规定。它始终满足基本格式化器 (BasicFormatter) 的规定。
格式说明
范围格式说明 的语法是:
范围填充与对齐 (可选) 宽度 (可选) n (可选) 范围类型 (可选) 范围底层说明 (可选)
|
|||||||||
范围格式说明中完整描述了其语法。
对于 std::format_kind<R> 为 std::range_format::string 或 std::range_format::debug_string 的 std::formatter
的特化,格式说明 是 标准格式说明 而不是 范围格式说明(使用 std::formatter<std::basic_string<CharT>, CharT> 为底层格式化器)。
range-default-formatter
的特化
用于范围的序列形式格式化工具 (类模板特化) | |
用于范围的映射形式格式化工具 (类模板特化) | |
用于范围的集合形式格式化工具 (类模板特化) | |
用于范围的字符串或经转义字符串形式格式化工具 (类模板特化) |
示例
本节未完成 原因:example |
参阅
(C++20) |
定义针对给定类型的格式化规则 (类模板) |
(C++23) |
用于帮助实现 std::formatter 对范围类型的特化的类模板 (类模板) |