std:: formatter <std::filesystem::path>
|
Определено в заголовочном файле
<filesystem>
|
||
|
template
<
class
CharT
>
struct formatter < std:: filesystem :: path , CharT > ; |
(начиная с C++26) | |
Специализация шаблона std::formatter для класса std::filesystem::path позволяет пользователям преобразовывать путь в его текстовое представление с помощью функций форматирования . Данная специализация является debug-enabled .
Содержание |
Спецификация формата
Синтаксис спецификаций формата path-format-spec следующий:
fill-and-align
(необязательно)
width
(необязательно)
?
(необязательно)
g
(необязательно)
|
|||||||||
fill-and-align и width имеют то же значение, что и в стандартной спецификации формата .
Опция
?
используется для форматирования пути как
экранированной строки
.
Опция
g
используется для указания, что путь представлен в
generic-format представлении
.
Функции-члены
|
set_debug_format
|
позволяет форматировать путь как
экранированную строку
(публичная функция-член) |
|
parse
|
разбирает спецификатор формата, указанный в
path-format-spec
(публичная функция-член) |
|
format
|
записывает форматированный вывод, указанный в
path-format-spec
(публичная функция-член) |
std::formatter<std::filesystem::path>:: set_debug_format
|
constexpr
void
set_debug_format
(
)
;
|
||
Позволяет текущему объекту форматировать путь как экранированную строку .
std::formatter<std::filesystem::path>:: parse
|
constexpr
auto
parse
(
std::
basic_format_parse_context
<
CharT
>
&
ctx
)
- > std:: basic_format_parse_context < CharT > :: iterator ; |
||
Анализирует спецификаторы формата как path-format-spec и сохраняет проанализированные спецификаторы в текущем объекте.
Возвращает итератор за концом path-format-spec .
std::formatter<std::filesystem::path>:: format
|
template
<
class
FormatContext
>
auto
format
(
const
std::
filesystem
::
path
&
p, FormatContext
&
ctx
)
const
|
||
Пусть
s
будет
p.
generic
<
std
::
filesystem
::
path
::
value_type
>
(
)
если используется опция
g
, иначе
p.
native
(
)
. Записывает
s
в
ctx.
out
(
)
в соответствии с
спецификацией формата пути
.
Для преобразования кодировки имени пути:
-
Имя пути преобразуется из нативной кодировки для широких символьных строк в UTF-8 с заменой максимальных частей некорректных подпоследовательностей на
U+FFFD(ЗАМЕЩАЮЩИЙ СИМВОЛ), если- std:: is_same_v < CharT, char > истинно,
- std:: is_same_v < typename path :: value_type , wchar_t > истинно, и
- обычная кодировка литералов является UTF-8.
- В противном случае преобразование кодировки не выполняется, если std:: is_same_v < typename path :: value_type , CharT > истинно.
- В противном случае преобразование кодировки определяется реализацией.
Возвращает итератор за концом выходного диапазона.
Примечания
| Feature-test macro | Value | Std | Feature |
|---|---|---|---|
__cpp_lib_format_path
|
202403L
|
(C++26) |
поддержка форматирования для
std::filesystem::path
|
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++20)
|
определяет правила форматирования для заданного типа
(шаблон класса) |