std:: formatter < range >
Defined in header
<format>
|
||
template
<
ranges::
input_range
R,
class
CharT
>
requires
(
std::
format_kind
<
R
>
!
=
std
::
range_format
::
disabled
)
&&
|
(since C++23) | |
Helper templates
|
||
template
<
std::
range_format
K,
ranges::
input_range
R,
class
CharT
>
struct /*range-default-formatter*/ ; |
( 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
.
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.
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
formatting utility for ranges in sequence form
(class template specialization) |
|
formatting utility for ranges in map form
(class template specialization) |
|
formatting utility for ranges in set form
(class template specialization) |
|
formatting utility for ranges in string or escaped string form
(class template specialization) |
Example
This section is incomplete
Reason: 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) |