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
特殊化の実装を支援するクラステンプレート
(クラステンプレート) |