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

From cppreference.com
Utilities library
General utilities
Relational operators (deprecated in C++20)
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 .

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* )

Data members

Member Definition
underlying_ (private) the underlying formatter of type std:: range_formatter < element-type , CharT >
( exposition-only member object* )

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 , or
  • element-type is a specialization of std::tuple and std::tuple_size_v< element-type > is 2 .

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

template < class ParseContext >
constexpr auto 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.

See also

(C++20)
defines formatting rules for a given type
(class template)
class template that helps implementing std::formatter specializations for range types
(class template)