名前空間
変種
操作

std::basic_format_arg

提供: cppreference.com
< cpp‎ | utility‎ | format
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ (C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
書式化ライブラリ
書式化関数
(C++20)
(C++20)
(C++20)
(C++20)
フォーマッタ
(C++20)
書式化引数
basic_format_arg
(C++20)
書式化エラー
 
ヘッダ <format> で定義
template<class Context>
class basic_format_arg;
(C++20以上)

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

basic_format_arg オブジェクトは一般的には std::make_format_args によって作成され std::visit_format_arg を通してアクセスされます。

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

目次

[編集] メンバクラス

定義
handle
ユーザ定義型オブジェクトの書式化を可能にするための型消去されたラッパー。
(クラス)

[編集] メンバ関数

コンストラクタ
std::basic_format_arg を構築します。
(パブリックメンバ関数)
operator bool
書式化引数を保持するかどうか調べます。
(パブリックメンバ関数)

[編集] 非メンバ関数

ユーザ定義フォーマッタのための引数 visit インタフェース
(関数テンプレート) [edit]

std::basic_format_arg::handle

template<class Context>
class basic_format_arg<Context>::handle;

ユーザ定義型オブジェクトの書式化を可能にします。

メンバ関数

format
指定された文脈で参照先のオブジェクトを書式化します。
(パブリックメンバ関数)

std::basic_format_arg::handle::format

void format(std::basic_format_parse_context<Context::char_type>& parse_ctx,
            Context& format_ctx) const;

T を紐付いた書式化引数の型、 ref を書式化引数を参照する const T& とします。 以下と同等です。

typename Context::template formatter_type<T> f;
parse_ctx.advance_to(f.parse(parse_ctx));
format_ctx.advance_to(f.format(ref, format_ctx));

std::basic_format_arg::basic_format_arg

basic_format_arg() noexcept;

デフォルトコンストラクタ。 書式化引数を保持しない basic_format_arg を構築します。 格納されるオブジェクトの型は std::monostate です。

書式化引数を保持する basic_format_arg を作成するためには std::make_format_args を使用する必要があります。

std::basic_format_arg::operator bool

explicit operator bool() const noexcept;

*this が書式化引数を保持しているかどうか調べます。

*this が書式化引数を保持する (格納されているオブジェクトの型が std::monostate でない) 場合は true、そうでなければ false を返します。

[編集]

[編集] 関連項目