std:: basic_format_string, std:: format_string, std:: wformat_string
|
Definiert im Header
<format>
|
||
|
template
<
class
CharT,
class
...
Args
>
struct basic_format_string ; |
(1) | (seit C++20) |
|
template
<
class
...
Args
>
using
format_string
=
|
(2) | (seit C++20) |
|
template
<
class
...
Args
>
using
wformat_string
=
|
(3) | (seit C++20) |
Klassentemplate
std::basic_format_string
umschließt einen
std::basic_string_view
, der von Formatierungsfunktionen verwendet wird.
Der Konstruktor von
std::basic_format_string
führt Compile-Time-Formatstring-Prüfungen durch
es sei denn, das Konstruktorargument wird zurückgegeben von
std::runtime_format
(seit C++26)
.
Inhaltsverzeichnis |
Memberfunktionen
|
(Konstruktor)
|
Konstruiert ein
basic_format_string
, löst einen Kompilierfehler aus, wenn das Argument kein Formatstring ist
(öffentliche Elementfunktion) |
|
get
|
gibt den eingepackten String zurück
(öffentliche Elementfunktion) |
std::basic_format_string:: basic_format_string
|
template
<
class
T
>
consteval basic_format_string ( const T & s ) ; |
(1) | |
|
basic_format_string
(
/* runtime-format-string */
<
CharT
>
s
)
noexcept
;
|
(2) | (seit C++26) |
basic_format_string
-Objekt, das eine Ansicht der Zeichenkette
s
speichert. Falls das Argument keine Kompilierzeitkonstante ist oder nicht als Formatzeichenkette für die Formatierungsargumenttypen
Args
geparst werden kann, ist die Konstruktion fehlerhaft.
basic_format_string
-Objekt, das eine Ansicht der Zeichenkette
s
speichert, wie von
std::runtime_format
zurückgegeben. Es werden bei der Konstruktion keine Formatzeichenketten-Prüfungen durchgeführt.
Parameter
| s | - |
ein Objekt, das die Formatzeichenfolge repräsentiert. Die Formatzeichenfolge besteht aus
Jedes Ersatzfeld hat folgendes Format:
1)
Ersatzfeld ohne Formatangabe
2)
Ersatzfeld mit Formatangabe
|
||||||||||||||||||||||||||||||||||||||||||||||
std::basic_format_string:: get
|
constexpr
std::
basic_string_view
<
CharT
>
get
(
)
const
noexcept
;
|
||
Gibt die gespeicherte String-Ansicht zurück.
Hinweise
Die Alias-Templates
format_string
und
wformat_string
verwenden
std::type_identity_t
, um die Template-Argumentableitung zu unterdrücken. In der Regel, wenn sie als Funktionsparameter auftreten, werden ihre Template-Argumente von anderen Funktionsargumenten abgeleitet.
template<class... Args> std::string format(std::format_string<Args...> fmt, Args&&... args); auto s = format("{} {}", 1.0, 2); // Ruft format<double, int> auf. Args werden von 1.0, 2 abgeleitet // Aufgrund der Verwendung von type_identity_t in format_string berücksichtigt // die Template-Argumentableitung nicht den Typ der Formatzeichenfolge.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| P2508R1 | C++20 | es gibt keinen benutzersichtigen Namen für diese Einrichtung |
der Name
basic_format_string
wird verfügbar gemacht
|