std::range-default-formatter<std::range_format::map>
From cppreference.com
< cpp | utility | format | ranges formatter
Defined in header <format> | ||
template<ranges::input_range R, class CharT > struct/*range-default-formatter*/<range_format::map, R, CharT>; | (since C++23) (exposition only*) | |
The class template /*range-default-formatter*/ for range types is specialized for formatting range as a map of keys to values if std::format_kind<R> is std::range_format::map.
Contents |
[edit]Member types
Member | Definition |
maybe-const-map (private) | fmt-maybe-const <R, CharT>(exposition-only member type*) |
element-type (private) | std::remove_cvref_t<ranges::range_reference_t<maybe-const-map >>(exposition-only member type*) |
[edit]Data members
Member | Definition |
underlying_ (private) | the underlying formatter of type std::range_formatter<element-type , CharT>(exposition-only member object*) |
[edit]Member functions
(constructor) | constructs a range-default-formatter (public member function) |
parse | parses the format specifier as specified by range-format-spec (public member function) |
format | writes the range formatted output as specified by range-format-spec (public member function) |
std::range-default-formatter<std::range_format::map>::range-default-formatter
constexpr/*range-default-formatter*/(); | ||
Equivalent to:
underlying_.set_brackets(STATICALLY_WIDEN<CharT>("{"), STATICALLY_WIDEN<CharT>("}"));
underlying_.underlying().set_brackets({}, {});
underlying_.underlying().set_separator(STATICALLY_WIDEN<charT>(": "));
where STATICALLY_WIDEN<CharT>("...") is "..." if CharT
is char, and L"..." if CharT
is wchar_t.
The program is ill-formed unless:
element-type
is a specialization of std::pair, orelement-type
is a specialization of std::tuple andstd::tuple_size_v<element-type>
is 2.
std::range-default-formatter<std::range_format::map>::parse
template<class ParseContext > constexprauto parse( ParseContext& ctx )-> ParseContext::iterator; | ||
Equivalent to: return
underlying_
.format(ctx);.
Returns an iterator past the end of the 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; | ||
Equivalent to: return
underlying_
.format(r, ctx);.
Returns an iterator past the end of the output range.
[edit]See also
(C++20) | defines formatting rules for a given type (class template) |
(C++23) | class template that helps implementing std::formatter specializations for range types (class template) |