Namespaces
Variants

std:: basic_format_arg

From cppreference.net
Definiert im Header <format>
template < class Context >
class basic_format_arg ;
(seit C++20)

Bietet Zugriff auf ein Formatierungsargument.

basic_format_arg Objekte werden typischerweise durch std::make_format_args erstellt und über std::visit_format_arg oder die visit Member-Funktionen (seit C++26) aufgerufen.

Ein basic_format_arg -Objekt verhält sich, als ob es ein std::variant der folgenden Typen enthält:

  • std:: monostate (nur wenn das Objekt standardmäßig 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

Inhaltsverzeichnis

Mitgliedsklassen

(C++20)
typerlosener Wrapper, der die Formatierung eines Objekts benutzerdefinierten Typs ermöglicht
(öffentliche Member-Klasse)

Memberfunktionen

(Konstruktor)
(C++20)
konstruiert ein std::basic_format_arg
(öffentliche Elementfunktion)
operator bool
(C++20)
prüft, ob das aktuelle Objekt ein Formatierungsargument enthält
(öffentliche Elementfunktion)
visit
(C++26)
besucht das enthaltene Formatierungsargument
(öffentliche Elementfunktion)

Nicht-Member-Funktionen

(C++20) (veraltet in C++26)
Argument-Besuchsschnittstelle für benutzerdefinierte Formatierer
(Funktions-Template)

std::basic_format_arg:: basic_format_arg

basic_format_arg ( ) noexcept ;
(seit C++20)

Standardkonstruktor. Konstruiert ein basic_format_arg , das kein Formatierungsargument enthält. Das enthaltene 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)

Überprüft, ob * this ein Formatierungsargument enthält.

Gibt true zurück, falls * this ein Formatierungsargument enthält (d.h. das enthaltene Objekt nicht den Typ std::monostate hat), 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 in arg enthaltene Objekt an.

Die visit -Funktionen verändern das basic_format_arg -Objekt, auf dem sie aufgerufen werden, nicht, da beim Aufruf von vis eine Kopie des Objekts verwendet wird.

1) Entspricht return std:: visit ( std:: forward < Visitor > ( vis ) , v ) ; , wobei v das in arg enthaltene std::variant ist.
2) Entspricht return std:: visit < R > ( std:: forward < Visitor > ( vis ) , v ) ; , wobei v das in arg enthaltene std::variant ist.

Hinweise

Feature-Test Makro Wert Std Feature
__cpp_lib_format 202306L (C++26) Member- visit

Beispiel

Siehe auch

Klasse, die Zugriff auf alle Formatierungsargumente bereitstellt
(Klassen-Template)