std::basic_format_arg<Context>:: handle
|
定義済みヘッダー
<format>
|
||
|
template
<
class
Context
>
class basic_format_arg < Context > :: handle ; |
(C++20以降) | |
ユーザー定義型のオブジェクトをフォーマット可能にする型消去ラッパー。
handle
オブジェクトは通常、
std::make_format_args
によって作成され、
std::visit_format_arg
または
visit
メンバ関数(
std::basic_format_arg
の)を通じてアクセスされます
(C++26以降)
。
目次 |
データメンバ
handle
の典型的な実装は
TriviallyCopyable
であり、2つの非静的データメンバーのみを格納します:
- フォーマット対象のオブジェクトへの const void * ポインタ、および
-
void
(
*
)
(
std::
basic_format_parse_context
<
Context
::
char_type
>
&
, Context
&
,
const
void
*
)
関数ポインタ(下記の
formatメンバ関数で必要な操作を実行する関数へのポインタ)
メンバー関数
|
format
(C++20)
|
参照されるオブジェクトを指定されたコンテキストでフォーマットする
(public member function) |
std::basic_format_arg<Context>::handle:: format
|
void
format
(
std::
basic_format_parse_context
<
Context
::
char_type
>
&
parse_ctx,
Context & format_ctx ) const ; |
(C++20以降) | |
以下を定義する:
-
Tを書式化引数の型、 -
TDを std:: remove_const_t < T > 、 -
TQを、 const TD が __formattable_with < Context > を満たす場合は const TD 、そうでない場合はTD、 -
refを書式化引数への参照とする。
以下と等価:
typename
Context
::
template
formatter_type
<
TD
>
f
;
parse_ctx.
advance_to
(
f.
parse
(
parse_ctx
)
)
;
format_ctx.
advance_to
(
f.
format
(
const_cast
<
TQ
&
>
(
static_cast
<
const
TD
&
>
(
ref
)
)
, format_ctx
)
)
;
注記
handle
はフォーマットされた引数に対して参照セマンティクスを持ち、その寿命を延長しません。引数が
handle
よりも長く存続することを保証するのはプログラマの責任です。通常、
handle
はフォーマット関数内でのみ使用されます。
関連項目
|
(C++20)
|
ユーザー定義フォーマッタのための書式設定引数へのアクセスを提供するクラステンプレート
(クラステンプレート) |
|
(C++20)
(C++20)
|
すべての書式設定引数を参照する型消去オブジェクトを作成し、
format_args
に変換可能
(関数テンプレート) |