std:: formatter < range >
|
Определено в заголовочном файле
<format>
|
||
|
template
<
ranges::
input_range
R,
class
CharT
>
требует
(
std::
format_kind
<
R
>
!
=
std
::
range_format
::
disabled
)
&&
|
(начиная с C++23) | |
|
Вспомогательные шаблоны
|
||
|
template
<
std::
range_format
K,
ranges::
input_range
R,
class
CharT
>
struct /*range-default-formatter*/ ; |
( только для демонстрации* ) | |
Специализация шаблона std::formatter для типов диапазонов позволяет пользователям преобразовывать диапазон в его текстовое представление как коллекцию элементов или строку с использованием функций форматирования .
Специализация получена из
range-default-formatter
<
std::
format_kind
<
R
>
, R, CharT
>
.
Специализация включена, если
R
удовлетворяет требованиям
input_range
,
std::
format_kind
<
R
>
не равно
std
::
range_format
::
disabled
, и
std::
formattable
<
ranges::
range_reference_t
<
R
>
, CharT
>
равно
true
.
Эта специализация удовлетворяет
Formatter
требованиям, если
const
R
моделирует
input_range
и
ranges::
range_reference_t
<
const
R
>
моделирует
std::
formattable
<
CharT
>
. Она всегда удовлетворяет
BasicFormatter
требованиям.
Содержание |
Спецификация формата
Синтаксис range-format-spec следующий:
range-fill-and-align
(необязательно)
width
(необязательно)
n
(необязательно)
range-type
(необязательно)
range-underlying-spec
(необязательно)
|
|||||||||
Синтаксис полностью описан в спецификации формата диапазона .
Для специализаций
std::formatter
, где
std::
format_kind
<
R
>
является либо
std
::
range_format
::
string
, либо
std
::
range_format
::
debug_string
,
format-spec
является
std-format-spec
вместо
range-format-spec
(который использует
std::
formatter
<
std::
basic_string
<
CharT
>
, CharT
>
в качестве базового форматтера).
Специализации
range-default-formatter
|
утилита форматирования для диапазонов в виде последовательности
(специализация шаблона класса) |
|
|
утилита форматирования для диапазонов в виде отображения
(специализация шаблона класса) |
|
|
утилита форматирования для диапазонов в виде множества
(специализация шаблона класса) |
|
|
утилита форматирования для диапазонов в виде строки или экранированной строки
(специализация шаблона класса) |
Пример
|
Этот раздел не завершён
Причина: пример |
Смотрите также
|
(C++20)
|
определяет правила форматирования для заданного типа
(шаблон класса) |
|
(C++23)
|
шаблон класса, помогающий реализовывать
std::formatter
специализации для типов диапазонов
(шаблон класса) |