std::vformat_to
| ヘッダー <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(オーバーロード(1,3)の場合はchar、オーバーロード(2,4)の場合はwchar_t)とします。
これらのオーバーロードは、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でパラメータ化されています。 |
パラメータ化されていません。 |