On this page
std::formatter<range>
Defined in header <format> |
||
---|---|---|
|
(since C++23) | |
Helper templates | ||
|
(exposition only*) |
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
.
Format specification
The syntax of range-format-spec is:
range-fill-and-align (optional) width (optional) 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).
Specializations of range-default-formatter
(C++23)
|
formatting utility for ranges in sequence form (class template specialization) |
(C++23)
|
formatting utility for ranges in map form (class template specialization) |
(C++23)
|
formatting utility for ranges in set form (class template specialization) |
(C++23)
|
formatting utility for ranges in string or escaped string form (class template specialization) |
Example
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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/format/ranges_formatter