Поделиться через


Перечисления <filesystem>

В этом разделе рассматриваются перечисления в заголовке файловой системы.

Требования

Заголовок:<экспериментальная/файловая система>

Пространство имен: std::experimental::filesystem

copy_options

Перечисление значений битовой маски, используемое с функциями copy и copy_file, чтобы указать поведение.

Синтаксис

enum class copy_options {
   none = 0,
   skip_existing = 1,
   overwrite_existing = 2,
   update_existing = 4,
   recursive = 8,
   copy_symlinks = 16,
   skip_symlinks = 32,
   directories_only = 64,
   create_symlinks = 128,
   create_hard_links = 256
};

Значения

Имя Описание
none Выполнять поведение по умолчанию для операции.
skip_existing Не копировать, если файл уже существует, не сообщать об ошибке.
overwrite_existing Перезаписать файл, если он уже существует.
update_existing Перезаписать файл, если он уже существует и старше, чем его замена.
recursive Копировать рекурсивно подкаталоги и их содержимое.
copy_symlinks Копировать символические ссылки как символические ссылки, а не копирование файлов, на которые они указывают.
skip_symlinks Игнорировать символические ссылки.
directories_only Выполнять итерацию только по каталогам, файлы игнорировать.
create_symlinks Создать символические ссылки вместо копирования файлов. В качестве исходного пути должен использоваться абсолютный путь, если назначением является текущий каталог.
create_hard_links Создать жесткие связи вместо копирования файлов.

directory_options

Определяет, следует выполнить символьные ссылки на каталоги или их игнорировать.

Синтаксис

enum class directory_options {
   none = 0,
   follow_directory_symlink
};

Значения

Имя Описание
none Поведение по умолчанию: игнорировать символические ссылки на каталоги. Отказ в разрешении является ошибкой.
follow_directory_symlink Символьные ссылки на каталоги можно рассматривать как фактические каталоги.

file_type

Перечисление для типов файлов. Поддерживаемые значения являются обычными, каталогами, not_found и неизвестными.

Синтаксис

enum class file_type {
    not_found = -1,
    none,
    regular,
    directory,
    symlink,
    block,
    character,
    fifo,
    socket,
    unknown
};

Значения

Имя. Стоимость Описание
not_found -1 Представляет несуществующий файл.
none 0 Представляет файл, у которого нет атрибута типа. (Не поддерживается.)
regular 1 Представляет обычный файл на диске.
directory 2 Представляет каталог.
symlink 3 Представляет символьную ссылку. (Не поддерживается.)
block 4 Представляет блочный файл в системе UNIX. (Не поддерживается.)
character 5 Представляет символьный файл в системе UNIX. (Не поддерживается.)
fifo 6 Представляет файл FIFO в системе UNIX. (Не поддерживается.)
socket 7 Представляет сокет в системе UNIX. (Не поддерживается.)
unknown 8 Представляет файл, состояние которого невозможно определить.

perm_options

Включает значенияreplace, , removeaddи nofollow.

enum class perm_options;

Завивки

Флаги разрешений файла. Поддерживаемые значения, по сути, "readonly" и все. Для файла с доступом "только для чтения" не установлен ни один из разрядов * _write. В противном случае установлен разряд all (0x0777).

Синтаксис

enum class perms {// names for permissions
   none = 0,
   owner_read = 0400,  // S_IRUSR
   owner_write = 0200, // S_IWUSR
   owner_exec = 0100,  // S_IXUSR
   owner_all = 0700,   // S_IRWXU
   group_read = 040,   // S_IRGRP
   group_write = 020,  // S_IWGRP
   group_exec = 010,   // S_IXGRP
   group_all = 070,    // S_IRWXG
   others_read = 04,   // S_IROTH
   others_write = 02,  // S_IWOTH
   others_exec = 01,   // S_IXOTH
   others_all = 07,    // S_IRWXO
   all = 0777,
   set_uid = 04000,    // S_ISUID
   set_gid = 02000,    // S_ISGID
   sticky_bit = 01000, // S_ISVTX
   mask = 07777,
   unknown = 0xFFFF,
   add_perms = 0x10000,
   remove_perms = 0x20000,
   resolve_symlinks = 0x40000
};

См. также

Справочник по файлам заголовков
<filesystem>