std::range-default-formatter<std::range_format::string>, std::range-default-formatter<std::range_format::debug_string>
來自 cppreference.com
< cpp | 工具庫 | 格式化 | ranges formatter
定義於標頭檔案 <format> |
||
template< std::range_format K, ranges::input_range R, class CharT > requires (K == std::range_format::string || K == std::range_format::debug_string) |
(C++23 起) (僅作說明*) |
|
類模板 /*range-default-formatter*/ 對於範圍型別被特化為將範圍格式化為字串或跳脫字元串,如果 std::format_kind<R> 是 std::range_format::string 或 std::range_format::debug_string。
目錄 |
[編輯] 資料成員
成員 | 定義 |
underlying_ (私有) |
型別為 std::formatter<std::basic_string<CharT>, CharT> 的底層格式化器 (僅用於闡釋的成員物件*) |
[編輯] 成員函式
(建構函式) (隱式宣告) |
構造一個 range-default-formatter (公開成員函式) |
parse |
根據 std-format-spec 解析格式說明符 (公開成員函式) |
format |
根據 std-format-spec 寫入格式化輸出 (公開成員函式) |
std::range-default-formatter<std::range_format::string>::parse
std::range-default-formatter<std::range_format::debug_string>::parse
template< class ParseContext > constexpr auto parse( ParseContext& ctx ) -> ParseContext::iterator; |
||
等價於
auto i = underlying_.parse(ctx);
if constexpr (K == std::range_format::debug_string)
underlying_.set_debug_format();
return i;
返回一個指向 std-format-spec 結尾的迭代器。
std::range-default-formatter<std::range_format::string>::format
std::range-default-formatter<std::range_format::debug_string>::format
template< class FormatContext > auto format( /* 參閱下文 */& r, FormatContext& ctx ) const -> FormatContext::iterator; |
||
如果 ranges::input_range<const R> 為 true,則 r 的型別為 const R&。否則,型別為 R&。
令 s 為一個 std::basic_string<CharT>,如同透過 std::basic_string<CharT>(std::from_range, r) 構造 s,使得 ranges::equal(s, r) 為 true。
等價於 return underlying_.format(s, ctx);。
返回一個迭代器,指向輸出範圍的末尾之後。
[編輯] 參閱
(C++20) |
定義給定型別的格式化規則 (類模板) |
(C++23) |
有助於實現範圍型別的 std::formatter 特化的類模板 (類模板) |