Namespaces
Variants

std:: basic_format_context

From cppreference.net
Definiert im Header <format>
template < class OutputIt, class CharT >
class basic_format_context ;
(1) (seit C++20)
using format_context = basic_format_context < /* unspecified */ , char > ;
(2) (seit C++20)
using wformat_context = basic_format_context < /* unspecified */ , wchar_t > ;
(3) (seit C++20)

Bietet Zugriff auf den Formatierungszustand, der aus den Formatierungsargumenten und dem Ausgabeiterator besteht.

2) Das nicht spezifizierte Template-Argument ist ein Ausgabe-Iterator, der an std::string anhängt, wie z.B. std:: back_insert_iterator < std:: string > . Implementierungen verwenden typischerweise einen Iterator zu einem typgelöschten Puffertyp, der das Anhängen an jeden zusammenhängenden und in der Größe veränderbaren Container unterstützt.
3) Das nicht spezifizierte Template-Argument ist ein Ausgabe-Iterator, der an std::wstring anhängt.

Das Verhalten ist undefiniert, falls OutputIt nicht das Konzept std:: output_iterator < const CharT & > modelliert.

Ein Programm, das eine explizite oder partielle Spezialisierung von std::basic_format_context deklariert, ist fehlerhaft, keine Diagnose erforderlich.

std::basic_format_context Objekte können nur von der Implementierung erstellt werden. Benutzercode darf den Formatkontext nur über die format Funktion von std::formatter Spezialisierungen modifizieren.

Inhaltsverzeichnis

Mitgliedertypen

Typ Definition
iterator OutputIt
char_type CharT

Member-Alias-Templates

Typ Definition
formatter_type < T > std:: formatter < T, CharT >

Memberfunktionen

(Konstruktor)
[gelöscht]
basic_format_context kann nicht durch Benutzercode erstellt werden
(öffentliche Elementfunktion)
operator=
[gelöscht]
basic_format_context ist nicht zuweisbar
(öffentliche Elementfunktion)
arg
gibt das Argument am angegebenen Index zurück
(öffentliche Elementfunktion)
locale
gibt die für lokalisierungsabhängige Formatierung verwendete Locale zurück
(öffentliche Elementfunktion)
out
gibt den Iterator zum Ausgabepuffer zurück
(öffentliche Elementfunktion)
advance_to
bewegt den Ausgabeiterator zur angegebenen Position
(öffentliche Elementfunktion)

std::basic_format_context:: arg

std:: basic_format_arg < basic_format_context > arg ( std:: size_t id ) const ;

Gibt ein std::basic_format_arg zurück, das das id -te Argument in args enthält, wobei args das Parameterpaket oder das std::basic_format_args -Objekt ist, das an die Formatierungsfunktion übergeben wurde.

Wenn id nicht kleiner als die Anzahl der Formatierungsargumente ist, wird ein standardmäßig konstruiertes std::basic_format_arg zurückgegeben (das ein std::monostate -Objekt enthält).

std::basic_format_context:: locale

std:: locale locale ( ) ;

Gibt die an die Formatierungsfunktion übergebene Locale zurück, oder eine standardmäßig konstruierte std::locale falls die Formatierungsfunktion keine Locale akzeptiert.

std::basic_format_context:: out

iterator out ( ) ;

Gibt den Iterator zum Ausgabepuffer zurück. Das Ergebnis wird aus dem gespeicherten Iterator move-konstruiert.

std::basic_format_context:: advance_to

void advance_to ( iterator it ) ;

Weist it dem gespeicherten Ausgabeiterator per Move-Operation zu. Nach einem Aufruf von advance_to wird der nächste Aufruf von out() einen Iterator mit dem Wert zurückgeben, den it vor der Zuweisung hatte.

Beispiel

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrigiertes Verhalten
LWG 3567 C++20 basic_format_context funktioniert nicht mit Move-only-Iterator-Typen geändert um Iteratoren zu bewegen
LWG 3975 C++20 Benutzer-Spezialisierung von basic_format_context war erlaubt nicht mehr erlaubt
LWG 4061 C++20 basic_format_context war durch Benutzercode konstruierbar und zuweisbar weder konstruierbar noch zuweisbar gemacht