std:: basic_format_context
|
定义于头文件
<format>
|
||
|
template
<
class
OutputIt,
class
CharT
>
class basic_format_context ; |
(1) | (C++20 起) |
|
using
format_context
=
basic_format_context
<
/* 未指定 */
,
char
>
;
|
(2) | (C++20 起) |
|
using
wformat_context
=
basic_format_context
<
/* 未指定 */
,
wchar_t
>
;
|
(3) | (C++20 起) |
提供对格式化状态的访问,该状态由格式化参数和输出迭代器组成。
如果
OutputIt
不满足
std::
output_iterator
<
const
CharT
&
>
的要求,则行为未定义。
声明
std::basic_format_context
显式或部分特化的程序是病式的,不要求诊断。
std::basic_format_context
对象只能由实现创建。用户代码仅能通过
std::formatter
特化的
format
函数来修改格式化上下文。
目录 |
成员类型
| 类型 | 定义 |
iterator
|
OutputIt
|
char_type
|
CharT
|
成员别名模板
| 类型 | 定义 |
| formatter_type < T > | std:: formatter < T, CharT > |
成员函数
|
(constructor)
[deleted]
|
basic_format_context
无法通过用户代码构造
(公开成员函数) |
|
operator=
[deleted]
|
basic_format_context
不可赋值
(公开成员函数) |
|
arg
|
返回指定索引处的参数
(公开成员函数) |
|
locale
|
返回用于本地化格式化的区域设置
(公开成员函数) |
|
out
|
返回输出缓冲区的迭代器
(公开成员函数) |
|
advance_to
|
将输出迭代器推进到指定位置
(公开成员函数) |
std::basic_format_context:: arg
|
std::
basic_format_arg
<
basic_format_context
>
arg
(
std::
size_t
id
)
const
;
|
||
返回一个持有
args
中第
id
个参数的
std::basic_format_arg
,其中
args
是传递给格式化函数的参数包或
std::basic_format_args
对象。
如果
id
不小于格式化参数的数量,则返回默认构造的
std::basic_format_arg
(持有
std::monostate
对象)。
std::basic_format_context:: locale
|
std::
locale
locale
(
)
;
|
||
返回传递给格式化函数的区域设置,如果格式化函数不接受区域设置,则返回默认构造的 std::locale 。
std::basic_format_context:: out
|
iterator out
(
)
;
|
||
返回输出缓冲区的迭代器。该结果是通过移动构造从存储的迭代器获得的。
std::basic_format_context:: advance_to
|
void
advance_to
(
iterator it
)
;
|
||
将
it
移动赋值给存储的输出迭代器。调用
advance_to
后,下一次调用
out()
将返回赋值前
it
所具有值的迭代器。
示例
|
本节内容不完整
原因:缺少示例 |
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。
| 缺陷报告 | 适用范围 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| LWG 3567 | C++20 |
basic_format_context
不支持仅移动迭代器类型
|
改为移动迭代器 |
| LWG 3975 | C++20 |
允许用户对
basic_format_context
进行特化
|
禁止特化 |
| LWG 4061 | C++20 |
用户代码可构造和赋值
basic_format_context
|
改为不可构造且不可赋值 |