Namespaces
Variants

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

From cppreference.net
Défini dans l'en-tête <filesystem>
template < class CharT >
struct formatter < std:: filesystem :: path , CharT > ;
(depuis C++26)

La spécialisation de modèle de std::formatter pour la classe std::filesystem::path permet aux utilisateurs de convertir un chemin d'accès en sa représentation textuelle en utilisant les fonctions de formatage . Cette spécialisation est debug-enabled .

Table des matières

Spécification du format

La syntaxe des spécifications de format path-format-spec est :

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

fill-and-align et width ont la même signification que dans la spécification de format standard .

L'option ? est utilisée pour formater le chemin d'accès en tant que chaîne échappée .

L'option g est utilisée pour spécifier que le chemin d'accès est dans une représentation au format générique .

Fonctions membres

set_debug_format
active le formatage du chemin en tant que chaîne échappée
(fonction membre publique)
parse
analyse le spécificateur de format comme spécifié par path-format-spec
(fonction membre publique)
format
écrit la sortie formatée comme spécifié par path-format-spec
(fonction membre publique)

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

constexpr void set_debug_format ( ) ;

Permet à l'objet courant de formater le chemin d'accès en tant que chaîne échappée .

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

constexpr auto parse ( std:: basic_format_parse_context < CharT > & ctx )
- > std:: basic_format_parse_context < CharT > :: iterator ;

Analyse les spécificateurs de format en tant que path-format-spec et stocke les spécificateurs analysés dans l'objet courant.

Retourne un itérateur situé après la fin du path-format-spec .

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

template < class FormatContext >

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

- > FormatContext :: iterator ;

Soit s égal à p. generic < std :: filesystem :: path :: value_type > ( ) si l'option g est utilisée, sinon p. native ( ) . Écrit s dans ctx. out ( ) comme spécifié par path-format-spec .

Pour la transcodage des caractères du nom de chemin :

  • Le nom de chemin est transcodé de l'encodage natif pour les chaînes de caractères larges vers UTF-8 avec les sous-parties maximales des sous-séquences mal formées substituées par U+FFFD (CARACTÈRE DE REMPLACEMENT) si
  • Sinon, aucun transcodage n'est effectué si std:: is_same_v < typename path :: value_type , CharT > est true .
  • Sinon, le transcodage est défini par l'implémentation.

Retourne un itérateur après la fin de la plage de sortie.

Notes

Macro de test de fonctionnalité Valeur Norme Fonctionnalité
__cpp_lib_format_path 202403L (C++26) Prise en charge du formatage pour std::filesystem::path

Exemple

Voir aussi

(C++20)
définit les règles de formatage pour un type donné
(modèle de classe)