std::basic_format_arg
From cppreference.com
| ヘッダー <format> で定義 |
||
| template< class Context > class basic_format_arg; |
(C++20以降) | |
書式設定引数へのアクセスを提供します。
basic_format_arg オブジェクトは通常 std::make_format_args によって作成され、std::visit_format_arg または visit メンバ関数(C++26 以降) を介してアクセスされます。
basic_format_arg オブジェクトは、以下の型の std::variant を格納しているかのように動作します。
- std::monostate (オブジェクトがデフォルト構築された場合のみ)
- bool
- Context::char_type
- int
- unsigned int
- long long int
- unsigned long long int
- float
- double
- long double
- const Context::char_type*
- std::basic_string_view<Context::char_type>
- const void*
- basic_format_arg::handle
目次 |
[編集] メンバクラス
| (C++20) |
ユーザー定義型のオブジェクトの書式設定を可能にする型消去ラッパー (public メンバクラス) |
[編集] メンバ関数
| (コンストラクタ) (C++20) |
std::basic_format_arg を構築します(public member function) |
| operator bool (C++20) |
現在のオブジェクトが書式設定引数を保持しているかチェックします (public member function) |
| visit (C++26) |
格納されている書式設定引数を訪問します (public member function) |
[編集] 非メンバ関数
| (C++20) (C++26で非推奨) |
ユーザー定義フォーマッタのための引数訪問インターフェース (関数テンプレート) |
std::basic_format_arg::basic_format_arg
| basic_format_arg() noexcept; |
(C++20以降) | |
デフォルトコンストラクタ。書式設定引数を保持しない basic_format_arg を構築します。格納されているオブジェクトは std::monostate 型です。
書式設定引数を保持する basic_format_arg を作成するには、std::make_format_args を使用する必要があります。
std::basic_format_arg::operator bool
| explicit operator bool() const noexcept; |
(C++20以降) | |
*this が書式設定引数を保持しているかチェックします。
*this が書式設定引数を保持している場合(つまり、格納されているオブジェクトが std::monostate 型でない場合)は true を返し、それ以外の場合は false を返します。
std::basic_format_arg::visit
| template< class Visitor > decltype(auto) visit( this basic_format_arg arg, Visitor&& vis ); |
(1) | (C++26以降) |
| template< class R, class Visitor > R visit( this basic_format_arg arg, Visitor&& vis ); |
(2) | (C++26以降) |
vis を arg に含まれるオブジェクトに適用します。
visit 関数は、呼び出し時にオブジェクトのコピーが使用されるため、呼び出された basic_format_arg オブジェクトを変更しません。
[編集] 備考
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__cpp_lib_format |
202306L |
(C++26) | メンバ visit |
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 参照
| (C++20)(C++20)(C++20) |
すべてのフォーマット引数へのアクセスを提供するクラス (クラステンプレート) |