名稱空間
變體
操作

std::formatter<range>

來自 cppreference.com
< cpp‎ | utility‎ | format
 
 
 
 
 
定義於標頭檔案 <format>
template< ranges::input_range R, class CharT >

    requires (std::format_kind<R> != std::range_format::disabled) &&
              std::formattable<ranges::range_reference_t<R>, CharT>

struct formatter<R, CharT>;
(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_rangeranges::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::stringstd::range_format::debug_stringstd::formatter 特化,format-specstd-format-spec 而不是 range-format-spec(其使用 std::formatter<std::basic_string<CharT>, CharT> 作為底層格式化器)。

[編輯] range-default-formatter 的特化

序列形式範圍的格式化工具
(類模板特化) [編輯]
對映形式範圍的格式化工具
(類模板特化) [編輯]
集合形式範圍的格式化工具
(類模板特化) [編輯]
字串或跳脫字元串形式範圍的格式化工具
(類模板特化) [編輯]

[編輯] 示例

[編輯] 參閱

(C++20)
定義給定型別的格式化規則
(類模板) [編輯]
有助於實現範圍型別的 std::formatter 特化的類模板
(類模板) [編輯]