template<ranges::input_range R>
    requires same_as<R, remove_cvref_t<R>>
  constexpr range_format format_kind<R> = see below;
| Option | Requirements | Meaning | |
| m | T shall be
either a specialization of pair or a specialization of tuple
such that tuple_size_v<T> is 2. | Indicates that
the opening bracket should be "{",
the closing bracket should be "}",
the separator should be ", ", and
each range element should be formatted as if
m were specified for its tuple-type. | |
| s | Indicates that the range should be formatted as a string. | ||
| ?s | Indicates that the range should be formatted as
an escaped string ([format.string.escaped]). | 
constexpr void set_separator(basic_string_view<charT> sep) noexcept;
constexpr void set_brackets(basic_string_view<charT> opening,
                            basic_string_view<charT> closing) noexcept;
template<class ParseContext>
  constexpr typename ParseContext::iterator
    parse(ParseContext& ctx);
template<ranges::input_range R, class FormatContext>
    requires formattable<ranges::range_reference_t<R>, charT> &&
             same_as<remove_cvref_t<ranges::range_reference_t<R>>, T>
  typename FormatContext::iterator
    format(R&& r, FormatContext& ctx) const;
constexpr void set_separator(basic_string_view<charT> sep) noexcept;
constexpr void set_brackets(basic_string_view<charT> opening,
                            basic_string_view<charT> closing) noexcept;
template<class ParseContext>
  constexpr typename ParseContext::iterator
    parse(ParseContext& ctx);
template<class FormatContext>
  typename FormatContext::iterator
    format(maybe-const-r& elems, FormatContext& ctx) const;
constexpr range-default-formatter();
template<class ParseContext>
  constexpr typename ParseContext::iterator
    parse(ParseContext& ctx);
template<class FormatContext>
  typename FormatContext::iterator
    format(maybe-const-map& r, FormatContext& ctx) const;
constexpr range-default-formatter();
template<class ParseContext>
  constexpr typename ParseContext::iterator
    parse(ParseContext& ctx);
template<class FormatContext>
  typename FormatContext::iterator
    format(maybe-const-set& r, FormatContext& ctx) const;
template<class ParseContext>
  constexpr typename ParseContext::iterator
    parse(ParseContext& ctx);
template<class FormatContext>
  typename FormatContext::iterator
    format(see below& r, FormatContext& ctx) const;