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 (private) fmt-maybe-const<R,CharT>
(тип-член только для пояснения*)
element-type (private) std::remove_cvref_t<ranges::range_reference_t<maybe-const-map>>
(тип-член только для пояснения*)

Поля

Член Определение
underlying_ (private) базовый модуль форматирования типа 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 ) -> 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);.

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

См. также

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/cpp/utility/format/ranges_formatter/range_default_formatter_map

Spec-Zone.ru

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