std::formatter<Bereich>
| Definiert in Header <format> |
||
| template< ranges::input_range R, class CharT > requires (std::format_kind<R> != std::range_format::disabled) && |
(seit C++23) | |
| Hilfsschablonen |
||
template< std::range_format K, ranges::input_range R, class CharT > struct /*range-default-formatter*/; |
(nur Exposition*) | |
Die Template-Spezialisierung von std::formatter für Bereichstypen ermöglicht es Benutzern, einen Bereich in seine textuelle Darstellung als Sammlung von Elementen oder als Zeichenkette unter Verwendung von Formatierungsfunktionen zu konvertieren.
Die Spezialisierung leitet sich von range-default-formatter<std::format_kind<R>, R, CharT> ab.
Die Spezialisierung ist aktiviert, wenn R input_range erfüllt, std::format_kind<R> nicht std::range_format::disabled ist und std::formattable<ranges::range_reference_t<R>, CharT> true ist.
Diese Spezialisierung erfüllt die Anforderungen von Formatter, wenn const R input_range modelliert und ranges::range_reference_t<const R> std::formattable<CharT> modelliert. Sie erfüllt immer die Anforderungen von BasicFormatter.
Inhalt |
[edit] Format-Spezifikation
Die Syntax von range-format-spec ist
range-fill-and-align (optional) width (optional) n(optional) range-type (optional) range-underlying-spec (optional) |
|||||||||
Die Syntax ist vollständig in Bereichs-Format-Spezifikation beschrieben.
Für Spezialisierungen von std::formatter, bei denen std::format_kind<R> entweder std::range_format::string oder std::range_format::debug_string ist, ist die format-spec stattdessen std-format-spec (die std::formatter<std::basic_string<CharT>, CharT> als zugrundeliegender Formatter verwendet) anstelle von range-format-spec.
[edit] Spezialisierungen von range-default-formatter
| Formatierungsdienstprogramm für Bereiche in Sequenzform (Klassenvorlagenspezialisierung) | |
| Formatierungsdienstprogramm für Bereiche in Kartenform (Klassenvorlagenspezialisierung) | |
| Formatierungsdienstprogramm für Bereiche in Mengenform (Klassenvorlagenspezialisierung) | |
| Formatierungsdienstprogramm für Bereiche in Zeichenketten- oder escaped Zeichenkettenform (Klassenvorlagenspezialisierung) |
[edit] Beispiel
| Dieser Abschnitt ist unvollständig Reason: example |
[edit] 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) |