std::vformat_to
来自 cppreference.com
定义在头文件 <format> 中 |
||
template< class OutputIt > OutputIt vformat_to( OutputIt out, std::string_view fmt, std::format_args args ); |
(1) | (自 C++20) |
template< class OutputIt > OutputIt vformat_to( OutputIt out, std::wstring_view fmt, std::wformat_args args ); |
(2) | (自 C++20) |
template< class OutputIt > OutputIt vformat_to( OutputIt out, const std::locale& loc, |
(3) | (自 C++20) |
template< class OutputIt > OutputIt vformat_to( OutputIt out, const std::locale& loc, |
(4) | (自 C++20) |
根据格式字符串 fmt 格式化 args 中保存的格式参数,并将结果写入输出迭代器 out。如果存在,loc 用于特定于区域设置的格式化。
设 CharT
为 decltype(fmt)::char_type (char 用于重载 (1,3),wchar_t 用于重载 (2,4)).
这些重载仅在 OutputIt
满足概念 std::output_iterator<const CharT&> 时参与重载解析。
OutputIt
必须模拟 (满足概念 std::output_iterator<const CharT&> 的语义要求),并且对于参数类型中的任何 Ti
,std::formatter<Ti, CharT> 必须满足 Formatter 要求。否则,行为未定义。
内容 |
[编辑] 参数
out | - | 指向输出缓冲区的迭代器 | ||||||||||||||||||||||||||||||||||||||||||||||
fmt | - | 表示格式字符串的对象。格式字符串由以下部分组成:
每个替换字段都具有以下格式
1) 没有格式规范的替换字段
2) 有格式规范的替换字段
| ||||||||||||||||||||||||||||||||||||||||||||||
args | - | 要格式化的参数 | ||||||||||||||||||||||||||||||||||||||||||||||
loc | - | std::locale 用于特定于区域设置的格式化 |
[编辑] 返回值
输出范围末尾之后的迭代器。
[编辑] 异常
如果 fmt 不是提供的参数的有效格式字符串,则抛出 std::format_error。还会传播格式化程序或迭代器操作抛出的任何异常。
[编辑] 示例
本节尚未完善 原因:没有示例 |
[编辑] 缺陷报告
以下行为更改缺陷报告被追溯应用于之前发布的 C++ 标准。
DR | 应用于 | 已发布的行为 | 正确行为 |
---|---|---|---|
P2216R3 | C++20 | args 的类型参数化在 `OutputIt` 上 | 未参数化 |