Espacios de nombres
Variantes

std::basic_format_arg

De cppreference.com
 
 
Biblioteca de servicios
 
Biblioteca de formato
Funciones de formato
(C++20)
(C++20)
(C++20)
(C++20)
Formateador
(C++20)
Argumentos de formato
Error de formato
 
<tbody> </tbody>
Definido en el archivo de encabezado <format>
template<class Context> class basic_format_arg;
(desde C++20)

Proporciona acceso a un argumento de formato.

Los basic_format_arg objeto se crean típicamente por std::make_format_args y se acceden mediante std::visit_format_arg.

Un objeto basic_format_arg se comporta como si almacenara 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 (identificador).

Clases miembro

Tipo Definición
handle
Envoltorio de tipo borrado que permite dar formato a un objeto de un tipo definido por el usuario.
(clase)

Funciones miembro

(constructor)
Construye un std::basic_format_arg.
(función miembro pública)
operator bool
Comprueba si el objeto actual alberga un argumento de formato.
(función miembro pública)

Funciones no miembro

Interfaz de visitación de argumento para formateadores definidos por el usuario.
(plantilla de función) [editar]

std::basic_format_arg::handle

<tbody> </tbody>
template<class Context> class basic_format_arg<Context>::handle;

Permite dar formato a un objeto de un tipo definido por el usuario.

Funciones miembro

format
Da formato al objeto al que se hace referencia con los contextos dados.
(función miembro pública)

std::basic_format_arg::handle::format

<tbody> </tbody>
void format(std::basic_format_parse_context<Context::char_type>& parse_ctx, Context& format_ctx) const;

Dejemos que T sea el tipo del argumento de formato asociado, y que ref sea const T& que se refiera al argumento de formato. Esto es equivalente a:

typename Context::template formatter_type<T> f; parse_ctx.advance_to(f.parse(parse_ctx)); format_ctx.advance_to(f.format(ref, format_ctx));

std::basic_format_arg::basic_format_arg

<tbody> </tbody>
basic_format_arg() noexcept;

Constructor por defecto. Construye un objeto basic_format_arg que no alberga un argumento de formato. El objeto almacenado tiene el tipo std::monostate.

Para crear un basic_format_arg que albergue un argumento de formato, tiene que usarse std::make_format_args.

std::basic_format_arg::operator bool

<tbody> </tbody>
explicit operator bool() const noexcept;

Comprueba si *this alberga un argumento de formato.

Devuelve true si *this alberga un argumento de formato (es decir, el objeto almacenado no tiene el tipo std::monostate), false de lo contrario.

Ejemplo

Véase también