Namespaces
Variants

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

From cppreference.net
Definiert im Header <format>
template < ranges:: input_range R, class CharT >
struct /*range-default-formatter*/ < range_format :: map , R, CharT > ;
(seit C++23)
( Nur zur Darstellung* )

Die Klassenvorlage /*range-default-formatter*/ für Bereichstypen wird für die Formatierung eines Bereichs als eine Zuordnung von Schlüsseln zu Werten spezialisiert, falls std:: format_kind < R > gleich std :: range_format :: map ist.

Inhaltsverzeichnis

Mitgliedertypen

Mitglied Definition
maybe-const-map (privat) fmt-maybe-const < R, CharT >
( Nur zur Darstellung bestimmter Mitgliedstyp* )
element-type (privat) std:: remove_cvref_t < ranges:: range_reference_t < maybe-const-map >>
( Nur zur Darstellung bestimmter Mitgliedstyp* )

Datenmitglieder

Member Definition
underlying_ (private) der zugrunde liegende Formatter vom Typ std:: range_formatter < element-type , CharT >
( Nur zur Darstellungszwecken (exposition-only member object*) )

Memberfunktionen

(Konstruktor)
konstruiert einen range-default-formatter
(öffentliche Elementfunktion)
parse
analysiert den Formatbezeichner wie in range-format-spec spezifiziert
(öffentliche Elementfunktion)
format
schreibt die formatierte Bereichsausgabe wie in range-format-spec spezifiziert
(öffentliche Elementfunktion)

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

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

Entspricht:
underlying_. set_brackets ( STATICALLY_WIDEN < CharT > ( "{" ) , STATICALLY_WIDEN < CharT > ( "}" ) ) ;
underlying_. underlying ( ) . set_brackets ( { } , { } ) ;
underlying_. underlying ( ) . set_separator ( STATICALLY_WIDEN < charT > ( ": " ) ) ;

wobei STATICALLY_WIDEN < CharT > ( "..." ) gleich "..." ist, falls CharT gleich char ist, und L "..." falls CharT gleich wchar_t ist.

Das Programm ist fehlerhaft, es sei denn:

  • element-type ist eine Spezialisierung von std::pair , oder
  • element-type ist eine Spezialisierung von std::tuple und std::tuple_size_v< element-type > gleich 2 ist.

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

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

Entspricht: return underlying_ . format ( ctx ) ; .

Gibt einen Iterator zurück, der über das Ende der Bereichsformat-Spezifikation hinauszeigt.

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

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

Entspricht: return underlying_ . format ( r, ctx ) ; .

Gibt einen Iterator hinter das Ende des Ausgabebereichs zurück.

Siehe auch

(C++20)
definiert Formatierungsregeln für einen gegebenen Typ
(Klassentemplate)
Klassentemplate, das bei der Implementierung von std::formatter Spezialisierungen für Bereichstypen hilft
(Klassentemplate)