Spec-Zone.ru › C++

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

Определено в заголовке <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>
(только для иллюстрации - член-объект*)

Члены-функции

(конструктор)
строит range-default-formatter
(публичная функция-член)
parse
анализирует спецификатор формата, как указано в range-format-spec
(публичная функция-член)
format
записывает отформатированный вывод диапазона, как указано в range-format-spec
(публичная функция-член)

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 ) -> typename ParseContext::iterator;

Эквивалентно return underlying_.parse(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
    -> typename FormatContext::iterator;

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

Возвращает итератор, указывающий на конец диапазона вывода.

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/format/ranges_formatter/range_default_formatter_map

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API