Namespaces
Variants

std:: basic_format_args

From cppreference.net
Definiert im Header <format>
template < class Context >
class basic_format_args ;
(1) (seit C++20)
using format_args = basic_format_args < std:: format_context > ;
(2) (seit C++20)
using wformat_args = basic_format_args < std:: wformat_context > ;
(3) (seit C++20)

Bietet Zugriff auf Formatierungsargumente.

Inhaltsverzeichnis

Memberfunktionen

(Konstruktor)
konstruiert ein basic_format_args Objekt
(öffentliche Elementfunktion)
get
gibt das Formatierungsargument am angegebenen Index zurück
(öffentliche Elementfunktion)

std::basic_format_args:: basic_format_args

template < class ... Args >
basic_format_args ( const /*format-arg-store*/ < Context, Args... > & store ) noexcept ;

Konstruiert ein basic_format_args -Objekt aus dem Ergebnis eines Aufrufs von std::make_format_args oder std::make_wformat_args .

std::basic_format_args:: get

std:: basic_format_arg < Context > get ( std:: size_t i ) const noexcept ;

Gibt ein std::basic_format_arg zurück, das das i -te Argument in args enthält, wobei args das an std::make_format_args oder std::make_wformat_args übergebene Parameterpaket ist.

Falls kein solches Formatierungsargument existiert (d.h. wenn * this standardkonstruiert wurde oder i nicht kleiner ist als die Anzahl der Formatierungsargumente), wird ein standardkonstruiertes std::basic_format_arg zurückgegeben (das ein std::monostate -Objekt enthält).

Deduktionsanleitungen

template < class Context, class ... Args >
basic_format_args ( /*format-arg-store*/ < Context, Args... > ) - > basic_format_args < Context > ;
(seit C++20)

Hinweise

std::basic_format_args hat Referenzsemantik. Es liegt in der Verantwortung des Programmierers, sicherzustellen, dass * this nicht länger lebt als store (was wiederum nicht länger leben sollte als die Argumente für std::make_format_args oder std::make_wformat_args ).

Beispiel

Fehlerberichte

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

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
P2216R3 C++20 format_args_t wurde aufgrund von Überparametrisierung von vformat_to bereitgestellt entfernt
LWG 3810 C++20 basic_format_args hatte keinen Ableitungsleitfaden hinzugefügt
LWG 4106 C++20 basic_format_args war standardkonstruierbar Standardkonstruktor entfernt

Siehe auch

Klassentemplate, das Zugriff auf ein Formatierungsargument für benutzerdefinierte Formatierer bereitstellt
(Klassentemplate)