Namespaces
Variants

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

From cppreference.net
Определено в заголовочном файле <format>
template < ranges:: input_range R, class CharT >
struct /*range-default-formatter*/ < range_format :: map , R, CharT > ;
(начиная с C++23)
( только для демонстрации* )

Шаблон класса /*range-default-formatter*/ для диапазонных типов специализируется для форматирования диапазона как отображения ключей в значения, если std:: format_kind < R > равен std :: range_format :: map .

Содержание

Типы членов

Член Определение
maybe-const-map (приватный) fmt-maybe-const < R, CharT >
( тип члена только для демонстрации* )
element-type (приватный) std:: remove_cvref_t < ranges:: range_reference_t < maybe-const-map >>
( тип члена только для демонстрации* )

Члены данных

Участник Определение
underlying_ (приватный) базовый форматтер типа std:: range_formatter < element-type , CharT >
( объект-член только для демонстрации* )

Функции-члены

(constructor)
создает range-default-formatter
(public member function)
parse
парсит спецификатор формата как указано в range-format-spec
(public member function)
format
записывает форматированный вывод диапазона как указано в range-format-spec
(public member function)

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

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

Эквивалентно:
underlying_. set_brackets ( STATICALLY_WIDEN < CharT > ( "{" ) , STATICALLY_WIDEN < CharT > ( "}" ) ) ;
underlying_. underlying ( ) . set_brackets ( { } , { } ) ;
underlying_. underlying ( ) . set_separator ( STATICALLY_WIDEN < charT > ( ": " ) ) ;

где STATICALLY_WIDEN < CharT > ( "..." ) это "..." если CharT это char , и L "..." если CharT это wchar_t .

Программа является некорректной, если:

  • element-type не является специализацией std::pair , или
  • element-type не является специализацией std::tuple и std::tuple_size_v< element-type > не равно 2 .

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

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

Эквивалентно: return underlying_ . format ( ctx ) ; .

Возвращает итератор за концом range-format-spec .

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

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

Эквивалентно: return underlying_ . format ( r, ctx ) ; .

Возвращает итератор за концом выходного диапазона.

Смотрите также

(C++20)
определяет правила форматирования для заданного типа
(шаблон класса)
шаблон класса, помогающий реализовывать std::formatter специализации для типов диапазонов
(шаблон класса)