名稱空間
變體
操作

std::range-default-formatter<std::range_format::string>, std::range-default-formatter<std::range_format::debug_string>

來自 cppreference.com
 
 
 
 
std::formatter<range>
range-default-formatter 特化
range-default-formatter<std::range_format::string>
range-default-formatter<std::range_format::debug_string>
 
定義於標頭檔案 <format>
template< std::range_format K, ranges::input_range R, class CharT >

    requires (K == std::range_format::string || K == std::range_format::debug_string)

struct /*range-default-formatter*/<K, R, CharT>;
(C++23 起)
(僅作說明*)

類模板 /*range-default-formatter*/ 對於範圍型別被特化為將範圍格式化為字串或跳脫字元串,如果 std::format_kind<R>std::range_format::stringstd::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)
定義給定型別的格式化規則
(類模板) [編輯]
有助於實現範圍型別的 std::formatter 特化的類模板
(類模板) [編輯]