Namespaces
Variants

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

From cppreference.net
Definido en el encabezado <filesystem>
template < class CharT >
struct formatter < std:: filesystem :: path , CharT > ;
(desde C++26)

La especialización de plantilla de std::formatter para la clase std::filesystem::path permite a los usuarios convertir un nombre de ruta a su representación textual usando funciones de formato . Esta especialización está habilitada para depuración .

Contenidos

Especificación de formato

La sintaxis de las especificaciones de formato path-format-spec es:

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

fill-and-align y width tienen el mismo significado que en la especificación de formato estándar .

La opción ? se utiliza para formatear el nombre de ruta como una cadena escapada .

La opción g se utiliza para especificar que el nombre de ruta está en representación de formato genérico .

Funciones miembro

set_debug_format
habilita formatear el nombre de ruta como una cadena de escape
(función miembro pública)
parse
analiza el especificador de formato según lo especificado por path-format-spec
(función miembro pública)
format
escribe la salida formateada según lo especificado por path-format-spec
(función miembro pública)

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

constexpr void set_debug_format ( ) ;

Permite al objeto actual formatear el nombre de ruta como una cadena escapada .

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

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

Analiza los especificadores de formato como un path-format-spec y almacena los especificadores analizados en el objeto actual.

Retorna un iterador que apuesta más allá del final del path-format-spec .

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

template < class FormatContext >

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

- > FormatContext :: iterator ;

Sea s igual a p. generic < std :: filesystem :: path :: value_type > ( ) si se utiliza la opción g , de lo contrario p. native ( ) . Escribe s en ctx. out ( ) según lo especificado por path-format-spec .

Para la transcodificación de caracteres del nombre de ruta:

  • El nombre de ruta se transcodifica desde la codificación nativa para cadenas de caracteres anchos a UTF-8, sustituyendo las subpartes máximas de subsecuencias mal formadas con U+FFFD (CARÁCTER DE REEMPLAZO) si
  • De lo contrario, no se realiza transcodificación si std:: is_same_v < typename path :: value_type , CharT > es true .
  • De lo contrario, la transcodificación está definida por la implementación.

Devuelve un iterador más allá del final del rango de salida.

Notas

Macro de prueba de características Valor Std Característica
__cpp_lib_format_path 202403L (C++26) Soporte de formato para std::filesystem::path

Ejemplo

Véase también

(C++20)
define las reglas de formato para un tipo dado
(plantilla de clase)