Namespaces
Variants

std:: vformat_to

From cppreference.net
Definido en el encabezado <format>
template < class OutputIt >
OutputIt vformat_to ( OutputIt out, std:: string_view fmt, std:: format_args args ) ;
(1) (desde C++20)
template < class OutputIt >
OutputIt vformat_to ( OutputIt out, std:: wstring_view fmt, std:: wformat_args args ) ;
(2) (desde C++20)
template < class OutputIt >

OutputIt vformat_to ( OutputIt out, const std:: locale & loc,

std:: string_view fmt, std:: format_args args ) ;
(3) (desde C++20)
template < class OutputIt >

OutputIt vformat_to ( OutputIt out, const std:: locale & loc,

std:: wstring_view fmt, std:: wformat_args args ) ;
(4) (desde C++20)

Formatee los argumentos contenidos en args de acuerdo con la cadena de formato fmt , y escriba el resultado en el iterador de salida out . Si está presente, loc se utiliza para el formato específico de la configuración regional.

Sea CharT como decltype ( fmt ) :: char_type ( char para las sobrecargas (1,3) , wchar_t para las sobrecargas (2,4) ).

Estas sobrecargas participan en la resolución de sobrecarga solo si OutputIt satisface el concepto std:: output_iterator < const CharT & > .

OutputIt debe modelar (cumplir con los requisitos semánticos del) concepto std:: output_iterator < const CharT & > , y std:: formatter < Ti, CharT > debe cumplir con los requisitos de Formatter para cualquier Ti en el tipo de argumentos. De lo contrario, el comportamiento es indefinido.

Contenidos

Parámetros

out - iterador al búfer de salida
fmt - un objeto que representa la cadena de formato. La cadena de formato consiste en
  • caracteres ordinarios (excepto { y } ), que se copian sin cambios a la salida,
  • secuencias de escape { { y } } , que se reemplazan con { y } respectivamente en la salida, y
  • campos de reemplazo.

Cada campo de reemplazo tiene el siguiente formato:

{ arg-id (opcional) } (1)
{ arg-id (opcional) : format-spec } (2)
1) campo de reemplazo sin especificación de formato
2) campo de reemplazo con especificación de formato
arg-id - especifica el índice del argumento en args cuyo valor se usará para el formato; si se omite, los argumentos se usan en orden.

Los arg-id en una cadena de formato deben estar todos presentes o todos omitidos. Mezclar indexación manual y automática es un error.

format-spec - la especificación de formato definida por la especialización de std::formatter para el argumento correspondiente. No puede comenzar con } .

(desde C++23)
(desde C++26)
  • Para otros tipos formateables, la especificación de formato se determina por especializaciones formatter definidas por el usuario.
args - argumentos a formatear
loc - std::locale usado para formato específico de localización

Valor de retorno

Iterador más allá del final del rango de salida.

Excepciones

Lanza std::format_error si fmt no es una cadena de formato válida para los argumentos proporcionados. También propaga cualquier excepción lanzada por operaciones de formateador o iteradores.

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
P2216R3 C++20 el tipo de args está parametrizado en OutputIt no parametrizado

Véase también