<filesystem>
, wyliczenia
Ten temat zawiera dokumenty wyliczenia w nagłówku systemu plików.
Wymagania
Header:<experimental/filesystem>
Przestrzeń nazw: std::experimental::filesystem
copy_options
Wyliczenie wartości maski bitów używanej z funkcjami kopiowania i copy_file do określania zachowania.
Składnia
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
};
Wartości
Nazwa/nazwisko | opis |
---|---|
none |
Wykonaj domyślne zachowanie dla operacji. |
skip_existing |
Nie należy kopiować, jeśli plik już istnieje, nie zgłaszaj błędu. |
overwrite_existing |
Zastąp plik, jeśli już istnieje. |
update_existing |
Zastąp plik, jeśli już istnieje i jest starszy niż zastąpienie. |
recursive |
Rekursywnie kopiuj podkatalogi i ich zawartość. |
copy_symlinks |
Skopiuj łącza symboliczne jako łącza symboliczne zamiast kopiować pliki, do których wskazują. |
skip_symlinks |
Ignoruj łącza symboliczne. |
directories_only |
Iteruj tylko katalogi, ignoruj pliki. |
create_symlinks |
Utwórz łącza symboliczne zamiast kopiować pliki. Ścieżka bezwzględna musi być używana jako ścieżka źródłowa, chyba że miejsce docelowe jest bieżącym katalogiem. |
create_hard_links |
Utwórz twarde linki zamiast kopiować pliki. |
directory_options
Określa, czy należy używać linków symbolicznych do katalogów, czy ignorować je.
Składnia
enum class directory_options {
none = 0,
follow_directory_symlink
};
Wartości
Nazwa/nazwisko | opis |
---|---|
none |
Domyślne zachowanie: ignoruj łącza symboliczne do katalogów. Odmowa uprawnień to błąd. |
follow_directory_symlink |
Traktuj łącza symboliczne do katalogów jako katalogi rzeczywiste. |
file_type
Wyliczenie typów plików. Obsługiwane wartości to regularne, katalog, not_found i nieznane.
Składnia
enum class file_type {
not_found = -1,
none,
regular,
directory,
symlink,
block,
character,
fifo,
socket,
unknown
};
Wartości
Nazwa/nazwisko | Wartość | Opis |
---|---|---|
not_found |
-1 | Reprezentuje plik, który nie istnieje. |
none |
0 | Reprezentuje plik, który nie ma atrybutu typu. (Nieobsługiwane). |
regular |
1 | Reprezentuje konwencjonalny plik dysku. |
directory |
2 | Reprezentuje katalog. |
symlink |
3 | Reprezentuje łącze symboliczne. (Nieobsługiwane). |
block |
100 | Reprezentuje plik specjalny blokowy w systemach opartych na systemie UNIX. (Nieobsługiwane). |
character |
5 | Reprezentuje plik specjalny znaków w systemach opartych na systemie UNIX. (Nieobsługiwane). |
fifo |
6 | Reprezentuje plik FIFO w systemach opartych na systemie UNIX. (Nieobsługiwane). |
socket |
7 | Reprezentuje gniazdo w systemach opartych na systemie UNIX. (Nieobsługiwane). |
unknown |
8 | Reprezentuje plik, którego stanu nie można określić. |
perm_options
Zawiera wartości replace
, , remove
add
i nofollow
.
enum class perm_options;
perms
Flagi uprawnień do plików. Obsługiwane wartości są zasadniczo "readonly" i wszystkie. W przypadku pliku readonly żaden z *_write bitów nie jest ustawiony. all
W przeciwnym razie bit (0x0777) jest ustawiony.
Składnia
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
};