std::basic_format_args
From cppreference.com
| ヘッダー <format> で定義 |
||
| template< class Context > class basic_format_args; |
(1) | (C++20以降) |
| using format_args = basic_format_args<std::format_context>; |
(2) | (C++20以降) |
| using wformat_args = basic_format_args<std::wformat_context>; |
(3) | (C++20以降) |
フォーマット引数へのアクセスを提供します。
目次 |
[編集] メンバ関数
| (コンストラクタ) |
basic_format_args オブジェクトを構築します。(public member function) |
| get |
指定されたインデックスのフォーマット引数を返します。 (public member function) |
std::basic_format_args::basic_format_args
| template< class... Args > basic_format_args( const /*format-arg-store*/<Context, Args...>& store ) noexcept; |
||
std::make_format_args または std::make_wformat_args の呼び出し結果から basic_format_args オブジェクトを構築します。
std::basic_format_args::get
| std::basic_format_arg<Context> get( std::size_t i ) const noexcept; |
||
std::make_format_args または std::make_wformat_args に渡されたパラメータパックである args の i 番目の引数を含む std::basic_format_arg を返します。
そのようなフォーマット引数がない場合(つまり、*this がデフォルト構築されたか、i がフォーマット引数の数より小さくない場合)、デフォルト構築された std::basic_format_arg(std::monostate オブジェクトを含む)を返します。
[編集] 推論ガイド
| template< class Context, class... Args > basic_format_args( /*format-arg-store*/<Context, Args...> ) -> basic_format_args<Context>; |
(C++20以降) | |
[編集] 注意
std::basic_format_args は参照セマンティクスを持ちます。プログラマは、*this が store よりも長く生存しないことを保証する責任があります(store は、std::make_format_args または std::make_wformat_args の引数よりも長く生存しないようにする必要があります)。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 欠陥報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| P2216R3 | C++20 | format_args_t は、vformat_to の過剰なパラメータ化のために提供されました。 |
削除 |
| LWG 3810 | C++20 | basic_format_args には推論ガイドがありません。 |
追加された |
| LWG 4106 | C++20 | basic_format_args はデフォルト構築可能でした。 |
デフォルトコンストラクタは削除されました。 |
[編集] 関連項目
| (C++20) |
ユーザー定義フォーマッタのためにフォーマット引数へのアクセスを提供するクラステンプレート (クラステンプレート) |