class template
std::range-default-formatter(C++23)
namespace std {
template <range_format K, ranges::input_range R, class charT>
struct range-default-formatter; // (1) C++23
template <ranges::input_range R, class charT>
struct range-default-formatter<
range_format::sequence, R, charT>; // (2) C++23
template <ranges::input_range R, class charT>
struct range-default-formatter<
range_format::map, R, charT>; // (3) C++23
template <ranges::input_range R, class charT>
struct range-default-formatter<
range_format::set, R, charT>; // (4) C++23
template <range_format K, ranges::input_range R, class charT>
requires (K == range_format::string || K == range_format::debug_string)
struct range-default-formatter<
K, R, charT>; // (5) C++23
}
概要
range-default-formatter
は、Range・コンテナに対するデフォルトの書式解析と書式文字列化を行う説明専用クラスである。
このクラスは、formatter
クラスのRange・コンテナに対する特殊化実装として標準ライブラリの内部で使用される。
このクラスの内部実装としてrange_formatter
が使用される。
備考
- (5) : この特殊化は規格上、標準ライブラリ内では使用されないが (
formatter<string, charT>
がすでにある)、以下のような用途が考えられる
メンバ関数
メンバ関数 |
説明 |
対応バージョン |
parse |
書式の解析を行う |
C++23 |
format |
書式化を行う |
C++23 |
sequenceに対する特殊化
メンバ関数 |
説明 |
対応バージョン |
constexpr void set_separator(basic_string_view<charT> sep); |
要素の区切り文字を設定する |
C++23 |
constexpr void set_brackets(basic_string_view<charT> opening, basic_string_view<charT> closing); |
全体の囲み文字を設定する |
C++23 |
mapに対する特殊化
メンバ関数 |
説明 |
対応バージョン |
constexpr range-default-formatter(); |
全体の囲み文字を{} 、要素の囲み文字を空、要素同士の区切り文字を": " に設定する |
C++23 |
setに対する特殊化
メンバ関数 |
説明 |
対応バージョン |
constexpr range-default-formatter(); |
全体の囲み文字を{} に設定する |
C++23 |
バージョン
言語
処理系
参照