Enumerazioni <filesystem>
Questo argomento illustra le enumerazioni nell'intestazione del file system.
Requisiti
Intestazione:<sperimentale/file system>
Spazio nomi: std::experimental::filesystem
copy_options
Enumerazione dei valori di maschera di bit che viene usata con le funzioni copy e copy_file per specificare comportamenti.
Sintassi
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
};
Valori
Nome | Descrizione |
---|---|
none |
Eseguire il comportamento predefinito per l'operazione. |
skip_existing |
Non copiare se il file esiste già, non segnalare un errore. |
overwrite_existing |
Sovrascrivere il file se esiste già. |
update_existing |
Sovrascrivere il file se già esiste ed è meno recente del file di sostituzione. |
recursive |
Copiare in modo ricorsivo le sottodirectory e il relativo contenuto. |
copy_symlinks |
Copiare i collegamenti simbolici come collegamenti simbolici, anziché copiare i file ai cui puntano i collegamenti. |
skip_symlinks |
Ignorare i collegamenti simbolici. |
directories_only |
Eseguire solo l'iterazione delle directory, ignorare i file. |
create_symlinks |
Creare collegamenti simbolici, anziché copiare i file. Deve essere usato un percorso assoluto come percorso di origine, a meno che la destinazione non sia la directory corrente. |
create_hard_links |
Creare collegamenti reali, anziché copiare file. |
directory_options
Specifica se seguire i collegamenti simbolici alle directory o ignorarli.
Sintassi
enum class directory_options {
none = 0,
follow_directory_symlink
};
Valori
Nome | Descrizione |
---|---|
none |
Comportamento predefinito: ignorare i collegamenti simbolici a directory. L'autorizzazione negata è un errore. |
follow_directory_symlink |
Considerare i collegamenti simbolici a directory come directory effettive. |
file_type
Enumerazione di tipi di file. I valori supportati sono normali, directory, not_found e sconosciuti.
Sintassi
enum class file_type {
not_found = -1,
none,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
Valori
Nome | valore | Descrizione |
---|---|---|
not_found |
-1 | Rappresenta un file che non esiste. |
none |
0 | Rappresenta un file che non ha alcun attributo di tipo. (non supportato). |
regular |
1 | Rappresenta un file su disco convenzionale. |
directory |
2 | Rappresenta una directory. |
symlink |
3 | Rappresenta un collegamento simbolico. (non supportato). |
block |
4 | Rappresenta un file di blocchi speciali nei sistemi basati su UNIX. (non supportato). |
character |
5 | Rappresenta un file di caratteri speciali nei sistemi basati su UNIX. (non supportato). |
fifo |
6 | Rappresenta un file FIFO nei sistemi basati su UNIX. (non supportato). |
socket |
7 | Rappresenta un socket nei sistemi basati su UNIX. (non supportato). |
unknown |
8 | Rappresenta un file il cui stato non può essere determinato. |
perm_options
Include valori replace
, add
, remove
e nofollow
.
enum class perm_options;
perms
Flag per le autorizzazioni del file. I valori supportati sono essenzialmente "readonly" e tutti. Per un file readonly non è impostato alcun bit *_write. In caso contrario, è impostato il bit all
(0x0777).
Sintassi
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
};