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);.
Возвращает итератор за концом диапазона вывода.
См. также
|
(C++20) | определяет правила форматирования для заданного типа (шаблон класса) |
|
(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