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*/; |
(僅作說明*) | |
std::formatter 對範圍型別的模板特化允許使用者使用 格式化函式 將範圍轉換為其文字表示形式,作為元素集合或字串。
此特化派生自 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 (可選) |
|||||||||
該語法在 範圍格式規範 中有完整描述。
對於 std::format_kind<R> 為 std::range_format::string 或 std::range_format::debug_string 的 std::formatter 特化,format-spec 是 std-format-spec 而不是 range-format-spec(其使用 std::formatter<std::basic_string<CharT>, CharT> 作為底層格式化器)。
[編輯] range-default-formatter 的特化
| 序列形式範圍的格式化工具 (類模板特化) | |
| 對映形式範圍的格式化工具 (類模板特化) | |
| 集合形式範圍的格式化工具 (類模板特化) | |
| 字串或跳脫字元串形式範圍的格式化工具 (類模板特化) |
[編輯] 示例
| 本節不完整 原因:示例 |
[編輯] 參閱
| (C++20) |
定義給定型別的格式化規則 (類模板) |
| (C++23) |
有助於實現範圍型別的 std::formatter 特化的類模板 (類模板) |