std:: basic_format_string, std:: format_string, std:: wformat_string
|
Definido en el encabezado
<format>
|
||
|
template
<
class
CharT,
class
...
Args
>
struct basic_format_string ; |
(1) | (desde C++20) |
|
template
<
class
...
Args
>
using
format_string
=
|
(2) | (desde C++20) |
|
template
<
class
...
Args
>
using
wformat_string
=
|
(3) | (desde C++20) |
La plantilla de clase
std::basic_format_string
encapsula un
std::basic_string_view
que será utilizado por las funciones de formato.
El constructor de
std::basic_format_string
realiza verificaciones en tiempo de compilación de la cadena de formato
a menos que el argumento del constructor sea devuelto por
std::runtime_format
(desde C++26)
.
Contenidos |
Funciones miembro
|
(constructor)
|
construye un
basic_format_string
, generando un error de compilación si el argumento no es una cadena de formato
(función miembro pública) |
|
get
|
devuelve la cadena encapsulada
(función miembro pública) |
std::basic_format_string:: basic_format_string
|
template
<
class
T
>
consteval basic_format_string ( const T & s ) ; |
(1) | |
|
basic_format_string
(
/* cadena-de-formato-en-tiempo-de-ejecución */
<
CharT
>
s
)
noexcept
;
|
(2) | (desde C++26) |
basic_format_string
que almacena una vista de la cadena
s
. Si el argumento no es una constante en tiempo de compilación, o si no puede analizarse como una cadena de formato para los tipos de argumentos de formateo
Args
, la construcción está mal formada.
basic_format_string
que almacena una vista de la cadena
s
como la devuelta por
std::runtime_format
. No realiza verificaciones de la cadena de formato durante la construcción.
Parámetros
| s | - |
un objeto que representa la cadena de formato. La cadena de formato consiste en
Cada campo de reemplazo tiene el siguiente formato:
1)
campo de reemplazo sin especificación de formato
2)
campo de reemplazo con especificación de formato
|
||||||||||||||||||||||||||||||||||||||||||||||
std::basic_format_string:: get
|
constexpr
std::
basic_string_view
<
CharT
>
get
(
)
const
noexcept
;
|
||
Devuelve la vista de cadena almacenada.
Notas
Las plantillas de alias
format_string
y
wformat_string
utilizan
std::type_identity_t
para inhibir la deducción de argumentos de plantilla. Normalmente, cuando aparecen como parámetro de función, sus argumentos de plantilla se deducen de otros argumentos de función.
template<class... Args> std::string format(std::format_string<Args...> fmt, Args&&... args); auto s = format("{} {}", 1.0, 2); // Llama a format<double, int>. Args se deduce de 1.0, 2 // Debido al uso de type_identity_t en format_string, la deducción de argumentos de plantilla // no considera el tipo de la cadena de formato.
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| P2508R1 | C++20 | no existe un nombre visible para el usuario para esta funcionalidad |
el nombre
basic_format_string
está expuesto
|