Namespaces
Variants

std:: basic_format_arg

From cppreference.net
Definido en el encabezado <format>
template < class Context >
class basic_format_arg ;
(desde C++20)

Proporciona acceso a un argumento de formato.

basic_format_arg objetos son típicamente creados por std::make_format_args y accedidos a través de std::visit_format_arg o las funciones miembro visit (desde C++26) .

Un objeto basic_format_arg se comporta como si contuviera un std::variant de los siguientes tipos:

  • std:: monostate (solo si el objeto fue construido por defecto)
  • bool
  • Context :: char_type
  • int
  • unsigned int
  • long long int
  • unsigned long long int
  • float
  • double
  • long double
  • const Context :: char_type *
  • std:: basic_string_view < Context :: char_type >
  • const void *
  • basic_format_arg :: handle

Contenidos

Clases miembro

(C++20)
contenedor con borrado de tipo que permite formatear un objeto de tipo definido por el usuario
(clase miembro pública)

Funciones miembro

(constructor)
(C++20)
construye un std::basic_format_arg
(función miembro pública)
operator bool
(C++20)
verifica si el objeto actual contiene un argumento de formato
(función miembro pública)
visit
(C++26)
visita el argumento de formato contenido
(función miembro pública)

Funciones no miembro

(C++20) (deprecated in C++26)
interfaz de visita de argumentos para formateadores definidos por el usuario
(plantilla de función)

std::basic_format_arg:: basic_format_arg

basic_format_arg ( ) noexcept ;
(desde C++20)

Constructor por defecto. Construye un basic_format_arg que no contiene un argumento de formato. El objeto contenido tiene tipo std::monostate .

Para crear un basic_format_arg que contenga un argumento de formato, debe utilizarse std::make_format_args .

std::basic_format_arg:: operator bool

explicit operator bool ( ) const noexcept ;
(desde C++20)

Verifica si * this contiene un argumento de formato.

Devuelve true si * this contiene un argumento de formato (es decir, el objeto contenido no tiene tipo std::monostate ), false en caso contrario.

std::basic_format_arg:: visit

template < class Visitor >
decltype ( auto ) visit ( this basic_format_arg arg, Visitor && vis ) ;
(1) (desde C++26)
template < class R, class Visitor >
R visit ( this basic_format_arg arg, Visitor && vis ) ;
(2) (desde C++26)

Aplica el visitante vis al objeto contenido en arg .

Las funciones visit no modifican el objeto basic_format_arg sobre el cual se llaman porque se utiliza una copia del objeto al llamar a vis .

1) Equivalente a return std:: visit ( std:: forward < Visitor > ( vis ) , v ) ; , donde v es el std::variant contenido en arg .
2) Equivalente a return std:: visit < R > ( std:: forward < Visitor > ( vis ) , v ) ; , donde v es el std::variant contenido en arg .

Notas

Macro de prueba de características Valor Estándar Característica
__cpp_lib_format 202306L (C++26) Función miembro visit

Ejemplo

Véase también

clase que proporciona acceso a todos los argumentos de formato
(plantilla de clase)