Namespaces
Variants

std:: range-default-formatter <std::range_format::map>

From cppreference.net
ヘッダーで定義 <format>
template < ranges:: input_range R, class CharT >
struct /*range-default-formatter*/ < range_format :: map , R, CharT > ;
(C++23以降)
( 説明専用* )

クラステンプレート /*range-default-formatter*/ は、範囲型に対して、 std:: format_kind < R > std :: range_format :: map である場合、範囲をキーと値のマップとしてフォーマットするために特殊化されます。

目次

メンバー型

メンバー 定義
maybe-const-map (private) fmt-maybe-const < R, CharT >
( 説明専用メンバー型* )
element-type (private) std:: remove_cvref_t < ranges:: range_reference_t < maybe-const-map >>
( 説明専用メンバー型* )

データメンバ

メンバー 定義
underlying_ (private) element-type 型とCharTの std:: range_formatter < element-type , CharT > の基盤フォーマッタ
( 説明専用メンバーオブジェクト* )

メンバー関数

(constructor)
range-default-formatter を構築する
(public member function)
parse
range-format-spec で指定されたフォーマット指定子を解析する
(public member function)
format
range-format-spec で指定された範囲のフォーマット済み出力を書き込む
(public member function)

std:: range-default-formatter <std::range_format::map>:: range-default-formatter

constexpr /*range-default-formatter*/ ( ) ;

以下と等価:
underlying_. set_brackets ( STATICALLY_WIDEN < CharT > ( "{" ) , STATICALLY_WIDEN < CharT > ( "}" ) ) ;
underlying_. underlying ( ) . set_brackets ( { } , { } ) ;
underlying_. underlying ( ) . set_separator ( STATICALLY_WIDEN < charT > ( ": " ) ) ;

ここで STATICALLY_WIDEN < CharT > ( "..." ) は、 CharT char の場合 "..." であり、 CharT wchar_t の場合 L "..." である。

以下の場合を除きプログラムは不適格である:

  • element-type std::pair の特殊化である場合、または
  • element-type std::tuple の特殊化であり、かつ std::tuple_size_v< element-type > 2 である場合。

std:: range-default-formatter <std::range_format::map>:: parse

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

以下と等価: return underlying_ . format ( ctx ) ; .

range-format-spec の終端を過ぎたイテレータを返します。

std:: range-default-formatter <std::range_format::map>:: format

template < class FormatContext >
auto format ( maybe - const - map & r, FormatContext & ctx ) const - > FormatContext :: iterator ;

以下と等価: return underlying_ . format ( r, ctx ) ; .

出力範囲の終端を過ぎたイテレータを返します。

関連項目

(C++20)
指定された型の書式設定ルールを定義する
(クラステンプレート)
範囲型に対する std::formatter 特殊化の実装を支援するクラステンプレート
(クラステンプレート)