std::range-default-formatter<std::range_format::string>, std::range-default-formatter<std::range_format::debug_string>
| Definiert in Header <format> |
||
| template< std::range_format K, ranges::input_range R, class CharT > requires (K == std::range_format::string || K == std::range_format::debug_string) |
(seit C++23) (nur Exposition*) |
|
Die Klassenvorlage /*range-default-formatter*/ für Range-Typen wird für die Formatierung von Ranges als String oder als escapter String spezialisiert, wenn std::format_kind<R> entweder std::range_format::string oder std::range_format::debug_string ist.
[bearbeiten] Datenelemente
| Mitglied | Definition |
underlying_ (private) |
der zugrunde liegende Formatter vom Typ std::formatter<std::basic_string<CharT>, CharT> ((exposition-only member object*) |
[bearbeiten] Member-Funktionen
| (Konstruktor) (implizit deklariert) |
konstruiert einen range-default-formatter(öffentliche Memberfunktion) |
| parse |
parst den Format-Spezifizierer gemäß std-format-spec (öffentliche Memberfunktion) |
| format |
schreibt die formatierte Ausgabe gemäß std-format-spec (öffentliche Memberfunktion) |
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; |
||
Äquivalent zu
auto i = underlying_.parse(ctx);
if constexpr (K == std::range_format::debug_string)
underlying_.set_debug_format();
return i;
Gibt einen Iterator nach dem Ende des std-format-spec zurück.
std::range-default-formatter<std::range_format::string>::format
std::range-default-formatter<std::range_format::debug_string>::format
| template< class FormatContext > auto format( /* siehe unten */& r, FormatContext& ctx ) const -> FormatContext::iterator; |
||
Wenn ranges::input_range<const R> true ist, ist der Typ von r const R&. Andernfalls ist der Typ R&.
Sei s ein std::basic_string<CharT>, als ob durch Konstruktion von s mit std::basic_string<CharT>(std::from_range, r), sodass ranges::equal(s, r) true ist.
Entspricht return underlying_.format(s, ctx);.
Gibt einen Iterator nach dem Ende des Ausgabe-Bereichs zurück.
[bearbeiten] Siehe auch
| (C++20) |
definiert Formatierungsregeln für einen gegebenen Typ (Klassentemplate) |
| (C++23) |
Klassentemplate, das bei der Implementierung von std::formatter-Spezialisierungen für Range-Typen hilft (Klassentemplate) |