std:: formatter <std::filesystem::path>
|
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
|
||
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+FFFDREPLACEMENT CHARACTER ersetzt werden, falls- std:: is_same_v < CharT, char > gleich true ist,
- std:: is_same_v < typename path :: value_type , wchar_t > gleich true ist, und
- gewöhnliche Literalkodierung UTF-8 ist.
- 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
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
(C++20)
|
definiert Formatierungsregeln für einen gegebenen Typ
(Klassentemplate) |