using maybe-const-adaptor =
fmt-maybe-const<adaptor-type<T, Container, U...>, charT>; // 説明専用
template <class FormatContext>
typename FormatContext::iterator
format(T& x, FormatContext& ctx) const; // (1) C++20
template<class FormatContext>
typename FormatContext::iterator
format(maybe-const-adaptor& r, FormatContext& ctx) const; // (2) C++23
概要
受け取った型T
のオブジェクトを書式化する。
- (1) : デフォルトの
formatter
および、std::pair
とstd::tuple
に対するformatter
の特殊化でのシグニチャ - (2) : コンテナアダプタに対する特殊化でのシグニチャ
効果
parse()
メンバ関数で解析した書式文字列の指定に基づいて、x
の値を文字列に変換するstd::pair
とstd::tuple
に対するformatter
の特殊化の場合、以下をctx.out()
に出力する:- 開きカッコを出力する
- 範囲
[0, タプルの要素数)
の各要素I
について、I != 0
であれば区切り文字を出力する- タプルの
I
番目の要素を、その型のformatter
で出力する
- 閉じカッコを出力する
-
コンテナアダプタに対する特殊化の場合、メンバとして以下を持っているとして、
formatter<Container, charT> underlying_;
- 以下と等価:
return underlying_.format(r.c, ctx);
戻り値
出力がおわった位置の出力イテレータを返す。
バージョン
言語
- C++20
処理系
- Clang: ??
- GCC: 13 ✅
- Visual C++: ??