std:: formatter < range >
|
定义于头文件
<format>
|
||
|
template
<
ranges::
input_range
R,
class
CharT
>
requires
(
std::
format_kind
<
R
>
!
=
std
::
range_format
::
disabled
)
&&
|
(C++23 起) | |
|
辅助模板
|
||
|
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
满足
Formatter
要求时,若
const
R
实现
input_range
且
ranges::
range_reference_t
<
const
R
>
实现
std::
formattable
<
CharT
>
,则该特化满足格式化器要求。它始终满足
BasicFormatter
要求。
目录 |
格式规范
range-format-spec 的语法为:
范围填充与对齐
(可选)
宽度
(可选)
n
(可选)
范围类型
(可选)
范围底层规范
(可选)
|
|||||||||
语法完整描述请参阅 范围格式规范 。
对于
std::formatter
的特化,当
std::
format_kind
<
R
>
为
std
::
range_format
::
string
或
std
::
range_format
::
debug_string
时,
format-spec
应为
std-format-spec
而非
range-format-spec
(此时使用
std::
formatter
<
std::
basic_string
<
CharT
>
, CharT
>
作为底层格式化器)。
range-default-formatter
的特化
|
序列形式范围的格式化工具
(类模板特化) |
|
|
映射形式范围的格式化工具
(类模板特化) |
|
|
集合形式范围的格式化工具
(类模板特化) |
|
|
字符串或转义字符串形式范围的格式化工具
(类模板特化) |
示例
|
本节内容不完整
原因:示例 |
参见
|
(C++20)
|
为给定类型定义格式化规则
(类模板) |
|
(C++23)
|
辅助实现范围类型的
std::formatter
特化的类模板
(类模板) |