std:: range-default-formatter <std::range_format::string> , std:: range-default-formatter <std::range_format::debug_string>
|
Определено в заголовочном файле
<format>
|
||
|
template
<
std::
range_format
K,
ranges::
input_range
R,
class
CharT
>
requires
(
K
==
std
::
range_format
::
string
||
K
==
std
::
range_format
::
debug_string
)
|
(начиная с C++23)
( только для демонстрации* ) |
|
Шаблон класса /*range-default-formatter*/ для диапазонных типов специализируется для форматирования диапазона как строки или экранированной строки, если std:: format_kind < R > является либо std :: range_format :: string , либо std :: range_format :: debug_string .
Члены данных
| Участник | Определение |
underlying_
(приватный)
|
базовый форматтер типа
std::
formatter
<
std::
basic_string
<
CharT
>
, CharT
>
( объект-участник только для демонстрации* ) |
Функции-члены
|
(конструктор)
(неявно объявлен)
|
создает
range-default-formatter
(публичная функция-член) |
|
parse
|
разбирает спецификатор формата, как указано в
std-format-spec
(публичная функция-член) |
|
format
|
записывает форматированный вывод, как указано в
std-format-spec
(публичная функция-член) |
std::
range-default-formatter
<std::range_format::string>::
parse
std::
range-default-formatter
<std::range_format::debug_string>:
parse
|
template
<
class
ParseContext
>
constexpr auto parse ( ParseContext & ctx ) - > ParseContext :: iterator ; |
||
Эквивалентно:
auto
i
=
underlying_.
parse
(
ctx
)
;
if
constexpr
(
K
==
std
::
range_format
::
debug_string
)
underlying_.
set_debug_format
(
)
;
return
i
;
Возвращает итератор за концом std-format-spec .
std::
range-default-formatter
<std::range_format::string>::
format
std::
range-default-formatter
<std::range_format::debug_string>::
format
|
template
<
class
FormatContext
>
auto format ( /* see below */ & r, FormatContext & ctx ) const - > FormatContext :: iterator ; |
||
Если ranges:: input_range < const R > равно true , тип r является const R & . В противном случае тип равен R & .
Пусть s будет std:: basic_string < CharT > , как если бы она была сконструирована s с помощью std:: basic_string < CharT > ( std:: from_range , r ) таким образом, что ranges:: equal ( s, r ) равно true .
Эквивалентно return underlying_. format ( s, ctx ) ; .
Возвращает итератор за концом выходного диапазона.
Смотрите также
|
(C++20)
|
определяет правила форматирования для заданного типа
(шаблон класса) |
|
(C++23)
|
шаблон класса, помогающий реализовывать
std::formatter
специализации для типов диапазонов
(шаблон класса) |