30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.29 Enumerations [fs.enum]

30.10.29.1 Enum path​::​format [fs.enum.path.format]

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

Таблица 122 - Enum path​::​format
ИмяИмея в виду
native_­format Собственный формат имени пути.
generic_­format Общий формат имени пути.
auto_­format Интерпретация формата символьной последовательности определяется реализацией. Реализация может проверять содержимое последовательности символов, чтобы определить формат. [ Note: Для систем на основе POSIX собственный и общий форматы эквивалентны, и последовательность символов всегда должна интерпретироваться одинаково. ] end note

30.10.29.2 Enum class file_­type [fs.enum.file_type]

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

Таблица 123 - класс Enum file_­type
ПостоянныйИмея в виду
none Тип файла не определен или произошла ошибка при попытке определить тип.
not_­found Псевдотип, указывающий, что файл не найден. [Если Note: файл не найден, это не считается ошибкой при определении типа файла. ] end note
regular Обычный файл
directory Каталог файлов
symlink Файл символьной ссылки
block Заблокировать специальный файл
character Специальный файл символов
fifo FIFO или файл трубы
socket Файл сокета
implementation-defined Реализации, которые поддерживают файловые системы, имеющие типы файлов в дополнение к вышеуказанным file_­type типам, должны предоставлять константы, определяемые реализацией, file_­type для отдельной идентификации каждого из этих дополнительных типов файлов.
unknown Файл существует, но тип не может быть определен

30.10.29.3 Enum class copy_­options [fs.enum.copy.opts]

enum class Тип copy_­options представляет собой тип битовой маски ([bitmask.types]) , который определяет битовую маску константа используется для управления семантикой операций копирования. Константы указываются в группах опций со значениями, указанными в таблице 124. Константа none отображается в каждой группе опций с целью демонстрации; реализации должны предоставлять только одно определение.

Таблица 124 - класс Enum copy_­options
Группа опций, управляющая copy_­file эффектами функций для существующих целевых файлов
ПостоянныйИмея в виду
none (По умолчанию) Ошибка; Файл уже существует.
skip_­existing Не перезаписывать существующий файл, не сообщать об ошибке.
overwrite_­existing Перезаписать существующий файл.
update_­existing Замените существующий файл, если он старше заменяемого.
Группа опций, управляющая copy эффектами функций для подкаталогов
ПостоянныйИмея в виду
none (По умолчанию) Не копировать подкаталоги.
recursive Рекурсивно копируйте подкаталоги и их содержимое.
Группа опций, управляющая copy эффектами функций для символьных ссылок
ПостоянныйИмея в виду
none (По умолчанию) Переход по символическим ссылкам.
copy_­symlinks Копируйте символические ссылки как символические ссылки, а не копируйте файлы, на которые они указывают.
skip_­symlinks Игнорируйте символические ссылки.
Группа опций, управляющая copy эффектами функций для выбора формы копирования
ПостоянныйИмея в виду
none (По умолчанию) Копировать содержимое.
directories_­only Копировать только структуру каталогов, не копировать файлы, не являющиеся каталогами.
create_­symlinks Делайте символические ссылки вместо копий файлов. Исходный путь должен быть абсолютным, если путь назначения не находится в текущем каталоге.
create_­hard_­links Делайте жесткие ссылки вместо копий файлов.

30.10.29.4 Enum class perms [fs.enum.perms]

enum class Типа perms является , bitmask type что указывает Bitmask константы используются для идентификации прав доступа к файлам, со значениями , перечисленными в табл 125.

Таблица 125 - класс Enum perms
ИмяЦенитьPOSIXОпределение или примечания
(восьмеричный)макрос
none 0 Для файла не установлены разрешения.
owner_­read 0400 S_­IRUSR Разрешение на чтение, владелец
owner_­write 0200 S_­IWUSR Разрешение на запись, владелец
owner_­exec 0100 S_­IXUSR Разрешение на выполнение / поиск, владелец
owner_­all 0700 S_­IRWXU Читать, писать, выполнять / искать по владельцу;
owner_­read | owner_­write | owner_­exec
group_­read 040 S_­IRGRP Разрешение на чтение, группа
group_­write 020 S_­IWGRP Разрешение на запись, группа
group_­exec 010 S_­IXGRP Разрешение на выполнение / поиск, группа
group_­all 070 S_­IRWXG Чтение, запись, выполнение / поиск по группе;
group_­read | group_­write | group_­exec
others_­read 04 S_­IROTH Разрешение на чтение, другие
others_­write 02 S_­IWOTH Разрешение на запись, другие
others_­exec 01 S_­IXOTH Разрешение на выполнение / поиск, другие
others_­all 07 S_­IRWXO Читать, писать, выполнять / искать другие;
others_­read | others_­write | others_­exec
all 0777 owner_­all | group_­all | others_­all
set_­uid 04000 S_­ISUID Установить идентификатор пользователя при выполнении
set_­gid 02000 S_­ISGID Установить идентификатор группы при выполнении
sticky_­bit 01000 S_­ISVTX Зависит от операционной системы.
mask 07777 all | set_­uid | set_­gid | sticky_­bit
unknown 0xFFFF Разрешения неизвестны, например, когда file_­status объект создается без указания разрешений.

30.10.29.5 Enum class perm_­options [fs.enum.perm.opts]

enum class Тип perm_­options представляет собой тип битовой маски ([bitmask.types]) , который определяет битовую маску константа используется для управления семантикой операций разрешений, со значениями , перечисленных в табле 126. Константы битовой маски являются элементами битовой маски. В таблице 126 perm обозначает значение perms переданного типа permissions.

Таблица 126 - класс Enum perm_­options
ИмяИмея в виду
replace permissions должен заменить биты разрешений файла на perm
add permissions должен заменить биты разрешения файла побитовым ИЛИ perm и текущими битами разрешения файла.
remove permissions должен заменить биты разрешений файла побитовым И дополнением perm и текущими битами разрешений файла.
nofollow permissions должен изменять разрешения самой символической ссылки, а не разрешения файла, к которому эта ссылка разрешает.

30.10.29.6 Enum class directory_­options [fs.enum.dir.opts]

enum class Тип directory_­options представляет собой тип битовая ([bitmask.types]), задающий Bitmask константы используются для определения вариантов обхода каталога, со значениями , перечисленными в табл 127.

Таблица 127 - класс Enum directory_­options
ИмяИмея в виду
none (По умолчанию) Пропускать символические ссылки на каталог, отказано в разрешении - это ошибка.
follow_­directory_­symlink Следуйте, а не пропускайте символические ссылки на каталоги.
skip_­permission_­denied Пропускать каталоги, для которых в противном случае было бы отказано в разрешении.