- format[meta header]
- class template[meta id-type]
- std[meta namespace]
- cpp23[meta cpp]
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_format[link range_format.md]
- ranges::input_range[link /reference/ranges/input_range.md]
range-default-formatter
は、Range・コンテナに対するデフォルトの書式解析と書式文字列化を行う説明専用クラスである。
このクラスは、formatter
クラスのRange・コンテナに対する特殊化実装として標準ライブラリの内部で使用される。
このクラスの内部実装としてrange_formatter
が使用される。
- (5) : この特殊化は規格上、標準ライブラリ内では使用されないが (
formatter
<
string
, charT>
がすでにある)、以下のような用途が考えられる
メンバ関数 |
説明 |
対応バージョン |
parse |
書式の解析を行う |
C++23 |
format |
書式化を行う |
C++23 |
メンバ関数 |
説明 |
対応バージョン |
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 |
メンバ関数 |
説明 |
対応バージョン |
constexpr range-default-formatter(); |
全体の囲み文字を{} 、要素の囲み文字を空、要素同士の区切り文字を": " に設定する |
C++23 |
メンバ関数 |
説明 |
対応バージョン |
constexpr range-default-formatter(); |
全体の囲み文字を{} に設定する |
C++23 |