最終更新日時(UTC):
が更新

履歴 編集

function
<format>

std::formatter::parse(C++20)

template <class ParseContext>
constexpr typename ParseContext::iterator
  parse(ParseContext& ctx);

概要

書式文字列の範囲[ctx.begin(), ctx.end())を解析する。

効果

  • デフォルトのformatterの場合、std::format()関数ページに記載されている「標準のオプション書式」を解析する
  • std::pairstd::tupleに対するformatterの特殊化の場合、std::format()関数ページに記載されている「pair、tupleの書式」を解析する
    • このとき、書式によって以下を設定する
      • 全体の囲み文字を、set_brackets()メンバ関数で設定する
      • 要素の区切り文字を、set_separator()メンバ関数で設定する
      • 各要素のformattereとして、e.set_debug_format()が有効な式であれば、それを呼び出してデバッグ書式を有効にする
  • コンテナアダプタに対する特殊化の場合、メンバとして以下を持っているとして、

    formatter<Container, charT> underlying_;
    

    • 以下と等価:

    return underlying_.parse(ctx);
    

戻り値

ctxのうち、解析がおわった位置を指すイテレータを返す。

備考

  • pair / tupleが文字・文字列を要素とする場合、デバッグ書式は常に有効となり、無効にする方法はない

バージョン

言語

  • C++20

処理系