Namespaces
Variants

std:: range-default-formatter <std::range_format::map>

From cppreference.net
Definido en el encabezado <format>
template < ranges:: input_range R, class CharT >
struct /*range-default-formatter*/ < range_format :: map , R, CharT > ;
(desde C++23)
( solo para exposición* )

La plantilla de clase /*range-default-formatter*/ para tipos de rango está especializada para formatear rangos como un mapa de claves a valores si std:: format_kind < R > es std :: range_format :: map .

Contenidos

Tipos de miembros

Miembro Definición
maybe-const-map (privado) fmt-maybe-const < R, CharT >
( tipo de miembro solo para exposición* )
element-type (privado) std:: remove_cvref_t < ranges:: range_reference_t < maybe-const-map >>
( tipo de miembro solo para exposición* )

Miembros de datos

Miembro Definición
underlying_ (privado) el formateador subyacente de tipo std:: range_formatter < element-type , CharT >
( objeto miembro solo para exposición* )

Funciones miembro

(constructor)
construye un range-default-formatter
(función miembro pública)
parse
analiza el especificador de formato según lo especificado por range-format-spec
(función miembro pública)
format
escribe la salida formateada del rango según lo especificado por range-format-spec
(función miembro pública)

std:: range-default-formatter <std::range_format::map>:: range-default-formatter

constexpr /*range-default-formatter*/ ( ) ;

Equivalente a:
underlying_. set_brackets ( STATICALLY_WIDEN < CharT > ( "{" ) , STATICALLY_WIDEN < CharT > ( "}" ) ) ;
underlying_. underlying ( ) . set_brackets ( { } , { } ) ;
underlying_. underlying ( ) . set_separator ( STATICALLY_WIDEN < charT > ( ": " ) ) ;

donde STATICALLY_WIDEN < CharT > ( "..." ) es "..." si CharT es char , y L "..." si CharT es wchar_t .

El programa está mal formado a menos que:

  • element-type sea una especialización de std::pair , o
  • element-type sea una especialización de std::tuple y std::tuple_size_v< element-type > sea 2 .

std:: range-default-formatter <std::range_format::map>:: parse

template < class ParseContext >
constexpr auto parse ( ParseContext & ctx ) - > ParseContext :: iterator ;

Equivalente a: return underlying_ . format ( ctx ) ; .

Devuelve un iterador más allá del final de la especificación-de-formato-de-rango .

std:: range-default-formatter <std::range_format::map>:: format

template < class FormatContext >
auto format ( maybe - const - map & r, FormatContext & ctx ) const - > FormatContext :: iterator ;

Equivalente a: return underlying_ . format ( r, ctx ) ; .

Devuelve un iterador más allá del final del rango de salida.

Véase también

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