Enumerações <filesystem>
Este tópico documenta as enumerações no cabeçalho filesystem.
Requisitos
Cabeçalho:<experimental/filesystem>
Namespace: std::experimental::filesystem
copy_options
Uma enumeração de valores de bitmask que é usada com as funções copy e copy_file para especificar o comportamento.
Sintaxe
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
};
Valores
Nome | Descrição |
---|---|
none |
Executa o comportamento padrão da operação. |
skip_existing |
Não copia se o arquivo já existir, não relata um erro. |
overwrite_existing |
Substitui o arquivo se ele já existir. |
update_existing |
Substitui o arquivo se ele já existir e for mais antigo que a substituição. |
recursive |
Copia recursivamente subdiretórios e seus conteúdos. |
copy_symlinks |
Copia links simbólicos como links simbólicos, em vez de copiar os arquivos para os quais eles apontam. |
skip_symlinks |
Ignora links simbólicos. |
directories_only |
Iterar somente diretórios, ignora arquivos. |
create_symlinks |
Faz links simbólicos em vez de copiar arquivos. Um caminho absoluto deve ser usado como o caminho de origem, a menos que o destino seja o diretório atual. |
create_hard_links |
Faz links físicos em vez de copiar arquivos. |
directory_options
Especifica se links simbólicos para diretórios devem ser seguidos ou ignorados.
Sintaxe
enum class directory_options {
none = 0,
follow_directory_symlink
};
Valores
Nome | Descrição |
---|---|
none |
Comportamento padrão: ignorar links simbólicos para diretórios. A permissão negada é um erro. |
follow_directory_symlink |
Tratar links simbólicos para diretórios como diretórios reais. |
file_type
Uma enumeração de tipos de arquivo. Os valores com suporte são regular, directory, not_found e unknown.
Sintaxe
enum class file_type {
not_found = -1,
none,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
Valores
Nome | Valor | Descrição |
---|---|---|
not_found |
-1 | Representa um arquivo que não existe. |
none |
0 | Representa um arquivo que não tem um atributo de tipo. (Sem suporte.) |
regular |
1 | Representa um arquivo de disco convencional. |
directory |
2 | Representa um diretório. |
symlink |
3 | Representa um link simbólico. (Sem suporte.) |
block |
4 | Representa um arquivo especial de bloco em sistemas baseados em UNIX. (Sem suporte.) |
character |
5 | Representa um arquivo especial de caractere em sistemas baseados em UNIX. (Sem suporte.) |
fifo |
6 | Representa um arquivo PEPS em sistemas baseados em UNIX. (Sem suporte.) |
socket |
7 | Representa um soquete em sistemas baseados em UNIX. (Sem suporte.) |
unknown |
8 | Representa um arquivo cujo status não pode ser determinado. |
perm_options
Inclui valores replace
, add
, remove
e nofollow
.
enum class perm_options;
Perms
Sinalizadores de permissões de arquivo. Os valores com suporte são, essencialmente, "readonly". Para um arquivo somente leitura, nenhum dos bits *_write é definido. Caso contrário, o bit all
(0x0777) é definido.
Sintaxe
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
};