Namespaces
Variants

std:: basic_format_args

From cppreference.net
定義済みヘッダー <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以降)

書式設定引数へのアクセスを提供します。

目次

メンバー関数

(constructor)
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 ;

args 内のi番目の引数を保持する std::basic_format_arg を返します。ここで args std::make_format_args または std::make_wformat_args に渡されたパラメータパックです。

そのようなフォーマット引数が存在しない場合(つまり * 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 がデフォルト構築可能だった デフォルトコンストラクタを削除

関連項目

ユーザー定義フォーマッタのための書式化引数へのアクセスを提供するクラステンプレート
(クラステンプレート)