<filesystem>
– výčty
Toto téma dokumentuje výčty v hlavičce systému souborů.
Požadavky
Header:<experimental/filesystem>
Obor názvů: std::experimental::filesystem
copy_options
Výčet hodnot bitové masky, které se používají s funkcemi copy a copy_file k určení chování.
Syntaxe
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
};
Hodnoty
Název | Popis |
---|---|
none |
Proveďte výchozí chování operace. |
skip_existing |
Pokud soubor již existuje, neoznamujte chybu. |
overwrite_existing |
Pokud už soubor existuje, přepište ho. |
update_existing |
Přepište soubor, pokud již existuje a je starší než náhrada. |
recursive |
Rekurzivně zkopírujte podadresáře a jejich obsah. |
copy_symlinks |
Místo kopírování souborů, na které odkazují, zkopírujte symbolické odkazy jako symbolické odkazy. |
skip_symlinks |
Ignorovat symbolické odkazy |
directories_only |
Pouze iterovat přes adresáře, ignorovat soubory. |
create_symlinks |
Místo kopírování souborů vytvořte symbolické odkazy. Absolutní cesta musí být použita jako zdrojová cesta, pokud cílovým adresářem není aktuální adresář. |
create_hard_links |
Místo kopírování souborů nastavte pevné odkazy. |
directory_options
Určuje, jestli se mají sledovat symbolické odkazy na adresáře nebo je ignorovat.
Syntaxe
enum class directory_options {
none = 0,
follow_directory_symlink
};
Hodnoty
Název | Popis |
---|---|
none |
Výchozí chování: ignorujte symbolické odkazy na adresáře. Oprávnění byla odepřena, je chyba. |
follow_directory_symlink |
Zachází se symbolickými odkazy na adresáře jako se skutečnými adresáři. |
file_type
Výčet pro typy souborů. Podporované hodnoty jsou běžné, adresářové, not_found a neznámé.
Syntaxe
enum class file_type {
not_found = -1,
none,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
Hodnoty
Jméno | Hodnota | Popis |
---|---|---|
not_found |
-1 | Představuje soubor, který neexistuje. |
none |
0 | Představuje soubor, který nemá žádný atribut typu. (Nepodporuje se.) |
regular |
0 | Představuje konvenční diskový soubor. |
directory |
2 | Představuje adresář. |
symlink |
3 | Představuje symbolický odkaz. (Nepodporuje se.) |
block |
4 | Představuje blokový speciální soubor v systémech UNIX. (Nepodporuje se.) |
character |
5 | Představuje soubor speciální znak v systémech UNIX. (Nepodporuje se.) |
fifo |
6 | Představuje soubor FIFO v systémech UNIX. (Nepodporuje se.) |
socket |
7 | Představuje soket v systémech UNIX. (Nepodporuje se.) |
unknown |
8 | Představuje soubor, jehož stav nelze určit. |
perm_options
Obsahuje hodnoty replace
, add
, remove
a nofollow
.
enum class perm_options;
perms
Příznaky pro oprávnění k souborům Podporované hodnoty jsou v podstatě jen pro čtení a všechny. Pro soubor jen pro čtení není nastavena žádná z *_write bitů. all
V opačném případě je bit (0x0777) nastavený.
Syntaxe
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
};