std::basic_format_context
| Definiert in Header <format> |
||
| template< class OutputIt, class CharT > class basic_format_context; |
(1) | (seit C++20) |
| using format_context = basic_format_context</* nicht spezifiziert */, char>; |
(2) | (seit C++20) |
| using wformat_context = basic_format_context</* nicht spezifiziert */, wchar_t>; |
(3) | (seit C++20) |
Stellt Zugriff auf den Formatierungsstatus bereit, bestehend aus den Formatierungsargumenten und dem Ausgabekennzeichen.
Das Verhalten ist undefiniert, wenn OutputIt nicht std::output_iterator<const CharT&> modelliert.
Ein Programm, das eine explizite oder partielle Spezialisierung von std::basic_format_context deklariert, ist fehlerhaft, ohne Meldung erforderlich.
std::basic_format_context Objekte können nur von der Implementierung erstellt werden. Benutzercodes dürfen den Formatkontext nur über die format Funktion von std::formatter-Spezialisierungen ändern.
Inhalt |
[bearbeiten] Member types
| Typ | Definition |
iterator
|
OutputIt
|
char_type
|
CharT
|
[bearbeiten] Member alias templates
| Typ | Definition |
| formatter_type<T> | std::formatter<T, CharT> |
[bearbeiten] Member functions
| (Konstruktor) [gelöscht] |
basic_format_context kann nicht vom Benutzercode konstruiert werden(öffentliche Memberfunktion) |
| operator= [gelöscht] |
basic_format_context ist nicht zuweisbar(öffentliche Memberfunktion) |
| arg |
gibt das Argument am angegebenen Index zurück (öffentliche Memberfunktion) |
| locale |
gibt das für die gebietsabhängige Formatierung verwendete Gebiet zurück (öffentliche Memberfunktion) |
| out |
gibt das Kennzeichen für den Ausgabepuffer zurück (öffentliche Memberfunktion) |
| advance_to |
bewegt das Ausgabekennzeichen an die angegebene Position (öffentliche Memberfunktion) |
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 die an die Formatierungsfunktion übergebene Parameterpackung oder das std::basic_format_args-Objekt ist.
Wenn id kleiner ist als die Anzahl der Formatierungsargumente, 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 das an die Formatierungsfunktion übergebene Gebiet zurück oder ein standardmäßig konstruiertes std::locale, wenn die Formatierungsfunktion kein Gebiet erwartet.
std::basic_format_context::out
| iterator out(); |
||
Gibt das Kennzeichen für den Ausgabepuffer zurück. Das Ergebnis wird aus dem gespeicherten Kennzeichen bewegt-konstruiert.
std::basic_format_context::advance_to
| void advance_to( iterator it ); |
||
Bewegt it per Zuweisung zum gespeicherten Ausgabekennzeichen. Nach einem Aufruf von advance_to gibt der nächste Aufruf von out() ein Kennzeichen zurück, das den Wert hat, den it vor der Zuweisung hatte.
[bearbeiten] Example
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Defect reports
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 |
für Move-Iteratoren gemacht |
| LWG 3975 | C++20 | Benutzerspezialisierung von basic_format_context war erlaubt |
disallowed |
| LWG 4061 | C++20 | basic_format_context war vom Benutzercode konstruierbar und zuweisbar |
weder konstruierbar noch zuweisbar gemacht |