Namensräume
Varianten
Aktionen

std::basic_format_args

Von cppreference.com
< cpp‎ | utility‎ | format
 
 
 
 
Definiert in 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.

Inhalt

[edit] Member functions

(Konstruktor)
Konstruiert ein basic_format_args Objekt.
(öffentliche Memberfunktion)
get
Gibt das Formatierungsargument am angegebenen Index zurück.
(öffentliche Memberfunktion)

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 die an std::make_format_args oder std::make_wformat_args übergebene Parameterliste ist.

Wenn kein solches Formatierungsargument vorhanden ist (d.h. *this wurde default-konstruiert oder i ist nicht kleiner als die Anzahl der Formatierungsargumente), wird ein default-konstruiertes std::basic_format_arg zurückgegeben (das ein std::monostate-Objekt enthält).

[edit] Deduktionsleitfäden

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

[edit] Anmerkungen

std::basic_format_args hat Semantik für Referenzen. 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 zu std::make_format_args oder std::make_wformat_args).

[edit] Beispiel

[edit] 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
P2216R3 C++20 format_args_t wurde aufgrund der Überparametrisierung von vformat_to bereitgestellt. entfernt
LWG 3810 C++20 basic_format_args hat keinen Deduktionsleitfaden. hinzugefügt
LWG 4106 C++20 basic_format_args war default-konstruierbar. Default-Konstruktor entfernt.

[edit] Siehe auch

Klassentemplate, das den Zugriff auf ein Formatierungsargument für benutzerdefinierte Formatierer ermöglicht
(Klassentemplate) [bearbeiten]