std::basic_format_args
| 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
| Dieser Abschnitt ist unvollständig Grund: kein 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
| (C++20) |
Klassentemplate, das den Zugriff auf ein Formatierungsargument für benutzerdefinierte Formatierer ermöglicht (Klassentemplate) |