std::formatter<range>
<format>
requires (std::format_kind <R> != std::range_format::disabled) &&
std::formattable <ranges::range_reference_t <R>, CharT>
struct /*range-default-formatter*/;
The template specialization of std::formatter for the range types allows users to convert a range to its textual representation as a collection of elements or a string using formatting functions.
The specialization is derived from range-default-formatter
<std::format_kind <R>, R, CharT>.
The specialization is enabled if R
satisfies input_range
, std::format_kind <R> is not std::range_format::disabled, and std::formattable <ranges::range_reference_t <R>, CharT> is true.
This specialization meets the Formatter requirements if const R models input_range
and ranges::range_reference_t <const R> models std::formattable <CharT>. It always meets the BasicFormatter requirements.
[edit] Format specification
The syntax of range-format-spec is:
n
(optional) range-type (optional) range-underlying-spec (optional)
The syntax is fully described in range format specification.
For specializations of std::formatter
where std::format_kind <R> is either std::range_format::string or std::range_format::debug_string, the format-spec is std-format-spec instead of range-format-spec (which uses std::formatter <std::basic_string <CharT>, CharT> as the underlying formatter).
[edit] Specializations of range-default-formatter
(class template specialization) [edit]
[edit] Example
Reason: example
[edit] See also
(class template) [edit]