Namespaces
Variants

std:: basic_format_args

From cppreference.net
Definido en el encabezado <format>
template < class Context >
class basic_format_args ;
(1) (desde C++20)
using format_args = basic_format_args < std:: format_context > ;
(2) (desde C++20)
using wformat_args = basic_format_args < std:: wformat_context > ;
(3) (desde C++20)

Proporciona acceso a los argumentos de formato.

Contenidos

Funciones miembro

(constructor)
construye un objeto basic_format_args
(función miembro pública)
get
devuelve el argumento de formato en el índice dado
(función miembro pública)

std::basic_format_args:: basic_format_args

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

Construye un objeto basic_format_args a partir del resultado de una llamada a std::make_format_args o std::make_wformat_args .

std::basic_format_args:: get

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

Devuelve un std::basic_format_arg que contiene el i -ésimo argumento en args , donde args es el paquete de parámetros pasado a std::make_format_args o std::make_wformat_args .

Si no existe tal argumento de formato (es decir, * this fue construido por defecto o i no es menor que el número de argumentos de formato), devuelve un std::basic_format_arg construido por defecto (que contiene un objeto std::monostate ).

Guías de deducción

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

Notas

std::basic_format_args tiene semántica de referencia. Es responsabilidad del programador asegurar que * this no sobreviva a store (que, a su vez, no debería sobrevivir a los argumentos de std::make_format_args o std::make_wformat_args ).

Ejemplo

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Se aplica a Comportamiento publicado Comportamiento correcto
P2216R3 C++20 format_args_t se proporcionó debido a la sobreparametrización de vformat_to eliminado
LWG 3810 C++20 basic_format_args no tiene guía de deducción añadido
LWG 4106 C++20 basic_format_args era construible por defecto constructor por defecto eliminado

Véase también

plantilla de clase que proporciona acceso a un argumento de formato para formateadores definidos por el usuario
(plantilla de clase)