Namespaces
Variants

std:: formatter < range >

From cppreference.net
Definiert im Header <format>
template < ranges:: input_range R, class CharT >

requires ( std:: format_kind < R > ! = std :: range_format :: disabled ) &&
std:: formattable < ranges:: range_reference_t < R > , CharT >

struct formatter < R, CharT > ;
(seit C++23)
Hilfsvorlagen
template < std:: range_format K, ranges:: input_range R, class CharT >
struct /*range-default-formatter*/ ;
( Nur zur Darstellung* )

Die Template-Spezialisierung von std::formatter für Bereichstypen ermöglicht es Benutzern, einen Bereich in seine textuelle Darstellung als Sammlung von Elementen oder einen String unter Verwendung von Formatierungsfunktionen zu konvertieren.

Die Spezialisierung ist abgeleitet von range-default-formatter < std:: format_kind < R > , R, CharT > .

Die Spezialisierung ist aktiviert, wenn R die Bedingungen input_range erfüllt, std:: format_kind < R > nicht std :: range_format :: disabled ist, und std:: formattable < ranges:: range_reference_t < R > , CharT > true ist.

Diese Spezialisierung erfüllt die Formatter -Anforderungen, falls const R ein input_range modelliert und ranges:: range_reference_t < const R > std:: formattable < CharT > modelliert. Sie erfüllt stets die BasicFormatter -Anforderungen.

Inhaltsverzeichnis

Formatspezifikation

Die Syntax von range-format-spec lautet:

range-fill-and-align  (optional) width  (optional) n (optional) range-type  (optional) range-underlying-spec  (optional)

Die Syntax ist vollständig beschrieben in der range format specification .

Für Spezialisierungen von std::formatter , bei denen std:: format_kind < R > entweder std :: range_format :: string oder std :: range_format :: debug_string ist, ist die Format-Spezifikation eine std-format-spec anstelle einer range-format-spec (welche std:: formatter < std:: basic_string < CharT > , CharT > als zugrundeliegenden Formatierer verwendet).

Spezialisierungen von range-default-formatter

Formatierungsdienstprogramm für Bereiche in Sequenzform
(Klassen-Template-Spezialisierung)
Formatierungsdienstprogramm für Bereiche in Map-Form
(Klassen-Template-Spezialisierung)
Formatierungsdienstprogramm für Bereiche in Set-Form
(Klassen-Template-Spezialisierung)
Formatierungsdienstprogramm für Bereiche in String- oder escaped String-Form
(Klassen-Template-Spezialisierung)

Beispiel

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)