Espacios de nombres
Variantes
Acciones

std::vformat_to

De cppreference.com
< cpp‎ | utility‎ | format
 
 
Biblioteca de servicios
 
Biblioteca de formato
Funciones de formato
(C++20)
(C++20)
(C++20)
vformat_to
(C++20)
Formateador
(C++20)
Argumentos de formato
Error de formato
 
Definido en el archivo de encabezado <format>
template<class OutputIt>

OutputIt vformat_to(OutputIt out,
                    std::string_view fmt,

                    std::format_args_t<std::type_identity_t<OutputIt>, char> args);
(1) (desde C++20)
template<class OutputIt, class... Args>

OutputIt vformat_to(OutputIt out,
                    std::wstring_view fmt,

                    std::format_args_t<std::type_identity_t<OutputIt>, wchar_t> args);
(2) (desde C++20)
template<class OutputIt, class... Args>

OutputIt vformat_to(OutputIt out, conststd::locale& loc,
                    std::string_view fmt,  

                    std::format_args_t<std::type_identity_t<OutputIt>, char> args);
(3) (desde C++20)
template<class OutputIt, class... Args>

OutputIt vformat_to(OutputIt out, conststd::locale& loc,
                    std::wstring_view fmt,  

                    std::format_args_t<std::type_identity_t<OutputIt>, wchar_t> args);
(4) (desde C++20)

Formatea los argumentos albergados por args de acuerdo a la cadena de formato fmt, y escribe el resultado al iterador de salida out. Si está presente, se usa loc para un formato específico de la configuración regional.

Dejemos que CharT sea decltype(fmt)::char_type (char para las sobrecargas (1,3), wchar_t para las sobrecargas (2,4)).

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

El comportamiento no está definido si OutputIt no modela (cumple con los requerimientos semánticos de) el concepto std::output_iterator<const CharT&>, o si std::formatter<Ti, CharT> no cumple con los requerimientos de Formatter para cualquier Ti en Args.

Contenido

[editar]Parámetros

out - Iterador al búfer de salida.
fmt - Vista sobre cadena que representa la cadena de formato.

Un objeto que representa la cadena de formato. La cadena de formato consiste en:

  • caracteres ordinarios (excepto { y }), que se copian sin cambiarse 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:

  • un carácter { introductorio;
  • (opcional)arg-id, un número no negativo;
  • (opcional) dos puntos (:) seguido de una especificación de formato;
  • un carácter } final.

arg-id especifica el índice del argumento en args cuyo valor se usará para formatear; si se omite arg-id, los argumentos se usan en orden. Los arg-ids en una cadena de formato tienen que estar presentes o todos deben de omitirse. Mezclar la indexación manual y automática es un error.

La especificación de formato se define por la especialización de std::formatter del argumento correspondiente.

(desde C++23)
(desde C++26)
  • Para los otros tipos formateables, la especificación de formato se determina por especializaciones de formatter definidas por el usuario.


args... - Argumentos a ser formateados.
loc - std::locale usado para un formato específico de la configuración regional.

[editar]Valor de retorno

Un iterador después del final del rango de salida.

[editar]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 el formateador o las operaciones del iterador.

[editar]Ejemplo

[editar]Véase también

close