Namespaces
Variants

std:: range-default-formatter <std::range_format::string> , std:: range-default-formatter <std::range_format::debug_string>

From cppreference.net
std::formatter< range >
range-default-formatter specializations
range-default-formatter <std::range_format::string>
range-default-formatter <std::range_format::debug_string>
Definiert im Header <format>
template < std:: range_format K, ranges:: input_range R, class CharT >

requires ( K == std :: range_format :: string || K == std :: range_format :: debug_string )

struct /*range-default-formatter*/ < K, R, CharT > ;
(seit C++23)
( Nur zur Darstellung* )

Die Klassenvorlage /*range-default-formatter*/ für Bereichstypen ist spezialisiert für die Formatierung eines Bereichs als String oder als escaped String, falls std:: format_kind < R > entweder std :: range_format :: string oder std :: range_format :: debug_string ist.

Inhaltsverzeichnis

Datenmitglieder

Member Definition
underlying_ (private) der zugrunde liegende Formatter vom Typ std:: formatter < std:: basic_string < CharT > , CharT >
( Nur zur Veranschaulichung verwendetes Member-Objekt* )

Memberfunktionen

(Konstruktor)
(implizit deklariert)
konstruiert einen range-default-formatter
(öffentliche Elementfunktion)
parse
parst den Formatbezeichner wie in std-format-spec spezifiziert
(öffentliche Elementfunktion)
format
schreibt die formatierte Ausgabe wie in std-format-spec spezifiziert
(öffentliche Elementfunktion)

std:: range-default-formatter <std::range_format::string>:: parse
std:: range-default-formatter <std::range_format::debug_string>:: parse

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

Entspricht:

auto i = underlying_. parse ( ctx ) ;
if constexpr ( K == std :: range_format :: debug_string )
underlying_. set_debug_format ( ) ;
return i ;

Gibt einen Iterator hinter das Ende der std-format-spec zurück.

std:: range-default-formatter <std::range_format::string>:: format
std:: range-default-formatter <std::range_format::debug_string>:: format

template < class FormatContext >
auto format ( /* siehe unten */ & r, FormatContext & ctx ) const - > FormatContext :: iterator ;

Falls ranges:: input_range < const R > true ist, ist der Typ von r const R & . Andernfalls ist der Typ R & .

Sei s ein std:: basic_string < CharT > , konstruiert als ob durch s mit std:: basic_string < CharT > ( std:: from_range , r ) , so dass ranges:: equal ( s, r ) true ist.

Äquivalent zu return underlying_. format ( s, 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)