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

履歴 編集

function
<format>

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

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::pairstd::tupleに対するformatterの特殊化でのシグニチャ
  • (2) : コンテナアダプタに対する特殊化でのシグニチャ

効果

  • parse()メンバ関数で解析した書式文字列の指定に基づいて、xの値を文字列に変換する
  • std::pairstd::tupleに対するformatterの特殊化の場合、以下をctx.out()に出力する:
    • 開きカッコを出力する
    • 範囲[0, タプルの要素数)の各要素Iについて、
      • I != 0であれば区切り文字を出力する
      • タプルのI番目の要素を、その型のformatterで出力する
    • 閉じカッコを出力する
  • コンテナアダプタに対する特殊化の場合、メンバとして以下を持っているとして、

    formatter<Container, charT> underlying_;
    

    • 以下と等価:

    return underlying_.format(r.c, ctx);
    

戻り値

出力がおわった位置の出力イテレータを返す。

バージョン

言語

  • C++20

処理系