std::formatter<std::filesystem::path>
| Definiert in Header <filesystem> |
||
| template< class CharT > struct formatter<std::filesystem::path, CharT>; |
(seit C++26) | |
Die Template-Spezialisierung von std::formatter für die std::filesystem::path Klasse erlaubt es Benutzern, einen Pfadnamen mit Formatierungsfunktionen in seine textuelle Darstellung umzuwandeln. Diese Spezialisierung ist debug-enabled.
Inhalt |
[edit] Formatangabe
Die Syntax der Formatangaben path-format-spec lautet
fill-and-align (optional) width (optional) ?(optional) g(optional) |
|||||||||
fill-and-align und width haben die gleiche Bedeutung wie in der Standard-Formatangabe.
Die Option ? wird verwendet, um den Pfadnamen als escaped string zu formatieren.
Die Option g wird verwendet, um anzugeben, dass der Pfadname in der generischen Formatdarstellung vorliegt.
[edit] Memberfunktionen
| set_debug_format |
ermöglicht die Formatierung des Pfadnamens als escaped string (öffentliche Memberfunktion) |
| parse |
parst den Format-Spezifizierer gemäß path-format-spec (öffentliche Memberfunktion) |
| format |
schreibt die formatierte Ausgabe gemäß path-format-spec (öffentliche Memberfunktion) |
std::formatter<std::filesystem::path>::set_debug_format
| constexpr void set_debug_format(); |
||
Ermöglicht dem aktuellen Objekt, Pfadnamen als escaped string zu formatieren.
std::formatter<std::filesystem::path>::parse
| constexpr auto parse( std::basic_format_parse_context<CharT>& ctx ) -> std::basic_format_parse_context<CharT>::iterator; |
||
Parst die Format-Spezifizierer als path-format-spec und speichert die geparsten Spezifizierer im aktuellen Objekt.
Gibt einen Iterator nach dem Ende des path-format-spec zurück.
std::formatter<std::filesystem::path>::format
| template< class FormatContext > auto format( const std::filesystem::path& p, FormatContext& ctx ) const |
||
Sei s p.generic<std::filesystem::path::value_type>(), wenn die Option g verwendet wird, andernfalls p.native(). Schreibt s in ctx.out() gemäß path-format-spec.
Für die Zeichen-Transkodierung des Pfadnamens
- Der Pfadname wird von der nativen Kodierung für Weitzeichenstrings nach UTF-8 transkodiert, wobei maximale Teilteile von fehlerhaften Untersequenzen durch
U+FFFDREPLACEMENT CHARACTER ersetzt werden, wenn- std::is_same_v<CharT, char> true ist,
- std::is_same_v<typename path::value_type, wchar_t> true ist und
- die übliche Literal-Kodierung UTF-8 ist.
- Andernfalls erfolgt keine Transkodierung, wenn std::is_same_v<typename path::value_type, CharT> true ist.
- Andernfalls ist die Transkodierung implementierungsabhängig.
Gibt einen Iterator nach dem Ende des Ausgabe-Bereichs zurück.
[edit] Hinweise
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_format_path |
202403L |
(C++26) | Formatierungsunterstützung für std::filesystem::path |
[edit] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[edit] Siehe auch
| (C++20) |
definiert Formatierungsregeln für einen gegebenen Typ (Klassentemplate) |