std::basic_format_arg
| Definiert in Header <format> |
||
| template< class Context > class basic_format_arg; |
(seit C++20) | |
Bietet Zugriff auf ein Formatierungsargument.
basic_format_arg Objekte werden typischerweise von std::make_format_args erstellt und über std::visit_format_arg oder die visit-Memberfunktionen(seit C++26) zugegriffen.
Ein basic_format_arg Objekt verhält sich so, als ob es ein std::variant der folgenden Typen speichert
- std::monostate (nur wenn das Objekt default-konstruiert wurde)
- bool
- Context::char_type
- int
- unsigned int
- long long int
- unsigned long long int
- float
- double
- long double
- const Context::char_type*
- std::basic_string_view<Context::char_type>
- const void*
- basic_format_arg::handle
Inhalt |
[bearbeiten] Member-Klassen
| (C++20) |
Type-erased Wrapper, der das Formatieren eines Objekts eines benutzerdefinierten Typs ermöglicht (public member class) |
[bearbeiten] Member-Funktionen
| (Konstruktor) (C++20) |
Konstruiert ein std::basic_format_arg(öffentliche Memberfunktion) |
| operator bool (C++20) |
Prüft, ob das aktuelle Objekt ein Formatierungsargument enthält (öffentliche Memberfunktion) |
| visit (C++26) |
Besucht das gespeicherte Formatierungsargument (öffentliche Memberfunktion) |
[bearbeiten] Nicht-Member-Funktionen
| (C++20) (veraltet in C++26) |
Argument-Visitationsschnittstelle für benutzerdefinierte Formatierer (Funktionstemplate) |
std::basic_format_arg::basic_format_arg
| basic_format_arg() noexcept; |
(seit C++20) | |
Default-Konstruktor. Erzeugt ein basic_format_arg, das kein Formatierungsargument enthält. Das gespeicherte Objekt hat den Typ std::monostate.
Um ein basic_format_arg zu erstellen, das ein Formatierungsargument enthält, muss std::make_format_args verwendet werden.
std::basic_format_arg::operator bool
| explicit operator bool() const noexcept; |
(seit C++20) | |
Prüft, ob *this ein Formatierungsargument enthält.
Gibt true zurück, wenn *this ein Formatierungsargument enthält (d.h. das gespeicherte Objekt hat nicht den Typ std::monostate), andernfalls false.
std::basic_format_arg::visit
| template< class Visitor > decltype(auto) visit( this basic_format_arg arg, Visitor&& vis ); |
(1) | (seit C++26) |
| template< class R, class Visitor > R visit( this basic_format_arg arg, Visitor&& vis ); |
(2) | (seit C++26) |
Wendet den Visitor vis auf das von arg enthaltene Objekt an.
Die visit-Funktionen ändern das basic_format_arg Objekt, auf dem sie aufgerufen werden, nicht, da beim Aufruf von vis eine Kopie des Objekts verwendet wird.
v der in arg gespeicherte std::variant ist.v der in arg gespeicherte std::variant ist.[bearbeiten] Hinweise
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_format |
202306L |
(C++26) | Member visit |
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| (C++20)(C++20)(C++20) |
Klasse, die Zugriff auf alle Formatierungsargumente ermöglicht (Klassentemplate) |