std::formatter<range>
| ヘッダー <format> で定義 |
||
| template< ranges::input_range R, class CharT > requires (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*/; |
(説明用*) | |
range の std::formatter のテンプレート特殊化により、ユーザーは range を要素のコレクションまたは文字列としてのテキスト表現に、フォーマット関数を使用して変換できます。
この特殊化は、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 の場合に有効になります。
この特殊化は、const R が input_range をモデル化し、ranges::range_reference_t<const R> が std::formattable<CharT> をモデル化する場合に、Formatter の要件を満たします。これは常に BasicFormatter の要件を満たします。
目次 |
[編集] フォーマット指定子
range-format-spec の構文は次のとおりです。
range-fill-and-align (省略可能) width (省略可能) n(省略可能) range-type (省略可能) range-underlying-spec (省略可能) |
|||||||||
構文の詳細は、range フォーマット指定子で説明されています。
std::format_kind<R> が std::range_format::string または std::range_format::debug_string のいずれかである std::formatter の特殊化では、format-spec は range-format-spec の代わりに std-format-spec となります(これは、基盤となるフォーマッタとして std::formatter<std::basic_string<CharT>, CharT> を使用します)。
[編集] range-default-formatter の特殊化
| シーケンス形式の range のフォーマットユーティリティ (クラステンプレート特殊化) | |
| マップ形式の range のフォーマットユーティリティ (クラステンプレート特殊化) | |
| セット形式の range のフォーマットユーティリティ (クラステンプレート特殊化) | |
| 文字列形式またはエスケープ文字列形式の range のフォーマットユーティリティ (クラステンプレート特殊化) |
[編集] 例
| このセクションは未完成です 理由:例 |
[編集] 関連項目
| (C++20) |
与えられた型のフォーマット規則を定義する (クラステンプレート) |
| (C++23) |
範囲型の std::formatter 特殊化の実装を助けるクラステンプレート (クラステンプレート) |