template <class ParseContext>
constexpr typename ParseContext::iterator
parse(ParseContext& ctx);
概要
書式文字列の範囲[ctx.begin(), ctx.end())を解析する。
効果
- デフォルトの
formatterの場合、std::format()関数ページに記載されている「標準のオプション書式」を解析する std::pairとstd::tupleに対するformatterの特殊化の場合、std::format()関数ページに記載されている「pair、tupleの書式」を解析する- このとき、書式によって以下を設定する
- 全体の囲み文字を、
set_brackets()メンバ関数で設定する - 要素の区切り文字を、
set_separator()メンバ関数で設定する - 各要素の
formatterをeとして、e.set_debug_format()が有効な式であれば、それを呼び出してデバッグ書式を有効にする
- 全体の囲み文字を、
- このとき、書式によって以下を設定する
-
コンテナアダプタに対する特殊化の場合、メンバとして以下を持っているとして、
formatter<Container, charT> underlying_;- 以下と等価:
return underlying_.parse(ctx);
戻り値
ctxのうち、解析がおわった位置を指すイテレータを返す。
備考
- pair / tupleが文字・文字列を要素とする場合、デバッグ書式は常に有効となり、無効にする方法はない
バージョン
言語
- C++20
処理系
- Clang: ??
- GCC: 13 ✅
- Visual C++: ??