Namespaces
Variants

std:: formatter <std::filesystem::path>

From cppreference.net
Definiert im 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 ermöglicht es Benutzern, einen Pfadnamen mithilfe von Formatierungsfunktionen in seine textuelle Darstellung zu konvertieren. Diese Spezialisierung ist debug-fähig .

Inhaltsverzeichnis

Formatspezifikation

Die Syntax von Formatangaben path-format-spec lautet:

fill-and-align  (optional) width  (optional) ? (optional) g (optional)

fill-and-align und width haben dieselbe Bedeutung wie in der Standardformat-Spezifikation .

Die ? -Option wird verwendet, um den Pfadnamen als escaped string zu formatieren.

Die g -Option wird verwendet, um anzugeben, dass der Pfadname im generischen Format dargestellt wird.

Memberfunktionen

set_debug_format
ermöglicht die Formatierung des Pfadnamens als escaped string
(öffentliche Member-Funktion)
parse
analysiert den Formatbezeichner gemäß path-format-spec
(öffentliche Member-Funktion)
format
schreibt die formatierte Ausgabe gemäß path-format-spec
(öffentliche Member-Funktion)

std::formatter<std::filesystem::path>:: set_debug_format

constexpr void set_debug_format ( ) ;

Ermöglicht es dem aktuellen Objekt, den 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 einen path-format-spec und speichert die geparsten Spezifizierer im aktuellen Objekt.

Gibt einen Iterator zurück, der hinter das Ende des path-format-spec zeigt.

std::formatter<std::filesystem::path>:: format

template < class FormatContext >

auto format ( const std:: filesystem :: path & p, FormatContext & ctx ) const

- > FormatContext :: iterator ;

Sei s gleich p. generic < std :: filesystem :: path :: value_type > ( ) falls die g -Option verwendet wird, andernfalls p. native ( ) . Schreibt s in ctx. out ( ) gemäß der Spezifikation durch path-format-spec .

Für die Zeichentranskodierung des Pfadnamens:

  • Der Pfadname wird von der nativen Kodierung für Breitzeichenketten nach UTF-8 transkodiert, wobei maximale Teile fehlerhafter Teilsequenzen durch U+FFFD REPLACEMENT CHARACTER ersetzt werden, falls
  • Andernfalls wird keine Transkodierung durchgeführt, falls std:: is_same_v < typename path :: value_type , CharT > gleich true ist.
  • Andernfalls ist die Transkodierung implementierungsdefiniert.

Gibt einen Iterator zurück, der über das Ende des Ausgabebereichs hinauszeigt.

Hinweise

Feature-Test Makro Wert Std Funktion
__cpp_lib_format_path 202403L (C++26) Formatierungsunterstützung für std::filesystem::path

Beispiel

Siehe auch

(C++20)
definiert Formatierungsregeln für einen gegebenen Typ
(Klassentemplate)