名前空間
変種
操作

std::basic_format_args

From cppreference.com
< cpp‎ | utility‎ | format
 
 
 
 
ヘッダー <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 に渡されたパラメータパックである argsi 番目の引数を含む std::basic_format_arg を返します。

そのようなフォーマット引数がない場合(つまり、*this がデフォルト構築されたか、i がフォーマット引数の数より小さくない場合)、デフォルト構築された std::basic_format_argstd::monostate オブジェクトを含む)を返します。

[編集] 推論ガイド

template< class Context, class... Args >
basic_format_args( /*format-arg-store*/<Context, Args...> ) -> basic_format_args<Context>;
(C++20以降)

[編集] 注意

std::basic_format_args は参照セマンティクスを持ちます。プログラマは、*thisstore よりも長く生存しないことを保証する責任があります(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 はデフォルト構築可能でした。 デフォルトコンストラクタは削除されました。

[編集] 関連項目

ユーザー定義フォーマッタのためにフォーマット引数へのアクセスを提供するクラステンプレート
(クラステンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)