Namespaces
Variants

std:: formatter < range >

From cppreference.net
Definido en el encabezado <format>
template < ranges:: input_range R, class CharT >

requires ( std:: format_kind < R > ! = std :: range_format :: disabled ) &&
std:: formattable < ranges:: range_reference_t < R > , CharT >

struct formatter < R, CharT > ;
(desde C++23)
Plantillas auxiliares
template < std:: range_format K, ranges:: input_range R, class CharT >
struct /*range-default-formatter*/ ;
( solo para exposición* )

La especialización de plantilla de std::formatter para los tipos de rango permite a los usuarios convertir un rango a su representación textual como una colección de elementos o una cadena utilizando funciones de formato .

La especialización se deriva de range-default-formatter < std:: format_kind < R > , R, CharT > .

La especialización está habilitada si R satisface input_range , std:: format_kind < R > no es std :: range_format :: disabled , y std:: formattable < ranges:: range_reference_t < R > , CharT > es true .

Esta especialización cumple con los requisitos de Formatter si const R modela input_range y ranges:: range_reference_t < const R > modela std:: formattable < CharT > . Siempre cumple con los requisitos de BasicFormatter .

Contenidos

Especificación de formato

La sintaxis de range-format-spec es:

range-fill-and-align  (opcional) width  (opcional) n (opcional) range-type  (opcional) range-underlying-spec  (opcional)

La sintaxis está completamente descrita en la especificación de formato de rango .

Para especializaciones de std::formatter donde std:: format_kind < R > es std :: range_format :: string o std :: range_format :: debug_string , el format-spec es std-format-spec en lugar de range-format-spec (que utiliza std:: formatter < std:: basic_string < CharT > , CharT > como formatter subyacente).

Especializaciones de range-default-formatter

utilidad de formato para rangos en forma de secuencia
(especialización de plantilla de clase)
utilidad de formato para rangos en forma de mapa
(especialización de plantilla de clase)
utilidad de formato para rangos en forma de conjunto
(especialización de plantilla de clase)
utilidad de formato para rangos en forma de cadena o cadena escapada
(especialización de plantilla de clase)

Ejemplo

Véase también

(C++20)
define las reglas de formato para un tipo dado
(class template)
plantilla de clase que ayuda a implementar std::formatter especializaciones para tipos de rango
(class template)