Namespaces
Variants

std:: basic_format_context

From cppreference.net
Definido en el encabezado <format>
template < class OutputIt, class CharT >
class basic_format_context ;
(1) (desde C++20)
using format_context = basic_format_context < /* no especificado */ , char > ;
(2) (desde C++20)
using wformat_context = basic_format_context < /* no especificado */ , wchar_t > ;
(3) (desde C++20)

Proporciona acceso al estado de formato que consiste en los argumentos de formato y el iterador de salida.

2) El argumento de plantilla no especificado es un iterador de salida que anexa a std::string , como std:: back_insert_iterator < std:: string > . Las implementaciones típicamente utilizan un iterador para un tipo de búfer con borrado de tipo que soporta anexar a cualquier contenedor contiguo y redimensionable.
3) El argumento de plantilla no especificado es un iterador de salida que anexa a std::wstring .

El comportamiento es indefinido si OutputIt no cumple con std:: output_iterator < const CharT & > .

Un programa que declara una especialización explícita o parcial de std::basic_format_context está mal formado, no se requiere diagnóstico.

std::basic_format_context los objetos solo pueden ser creados por la implementación. Los códigos de usuario solo tienen permitido modificar el contexto de formato mediante la función format de las especializaciones de std::formatter .

Contenidos

Tipos de miembros

Tipo Definición
iterator OutputIt
char_type CharT

Plantillas de alias de miembro

Tipo Definición
formatter_type < T > std:: formatter < T, CharT >

Funciones miembro

(constructor)
[deleted]
basic_format_context no puede ser construido por código de usuario
(función miembro pública)
operator=
[deleted]
basic_format_context no es asignable
(función miembro pública)
arg
devuelve el argumento en el índice dado
(función miembro pública)
locale
devuelve la configuración regional utilizada para el formato específico de localización
(función miembro pública)
out
devuelve el iterador al búfer de salida
(función miembro pública)
advance_to
avanza el iterador de salida a la posición dada
(función miembro pública)

std::basic_format_context:: arg

std:: basic_format_arg < basic_format_context > arg ( std:: size_t id ) const ;

Devuelve un std::basic_format_arg que contiene el argumento número id en args , donde args es el paquete de parámetros o el objeto std::basic_format_args pasado a la función de formato.

Si id 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 ).

std::basic_format_context:: locale

std:: locale locale ( ) ;

Devuelve la configuración regional pasada a la función de formato, o una std::locale construida por defecto si la función de formato no recibe una configuración regional.

std::basic_format_context:: out

iterator out ( ) ;

Devuelve el iterador al búfer de salida. El resultado se construye por movimiento desde el iterador almacenado.

std::basic_format_context:: advance_to

void advance_to ( iterator it ) ;

Asigna por movimiento it al iterador de salida almacenado. Después de una llamada a advance_to , la siguiente llamada a out() devolverá un iterador con el valor que it tenía antes de la asignación.

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 Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3567 C++20 basic_format_context no funciona con tipos de iteradores de solo movimiento modificado para mover iteradores
LWG 3975 C++20 se permitía la especialización de usuario de basic_format_context no permitido
LWG 4061 C++20 basic_format_context era construible y asignable por código de usuario hecho ni construible ni asignable