<filesystem>, wyliczenia

W tym artykule dokumentacji wyliczenia w implementacji nagłówka <filesystem> języka C++17std::filesystem.

Uwaga / Notatka

Ta strona dokumentuje wyliczenia języka C++17 std::filesystem . Aby zapoznać się z historycznymi wyliczeniami wstępnymi podanymi w <experimental/filesystem>programie , zobacz <experimental/filesystem> wyliczenia.

Wymagania

Nagłówek:<filesystem>

Przestrzeń nazw: std::filesystem

copy_options

Wyliczenie wartości maski bitów używanych z funkcjami copy 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

Wyliczenie maski bitowej, które steruje sposobem obsługi iteracji katalogów symbolicznych linków do katalogów i błędów odmowy uprawnień.

Składnia

enum class directory_options {
   none = 0,
   follow_directory_symlink = 1,
   skip_permission_denied = 2
};

Wartości

Nazwa/nazwisko opis
none Domyślne zachowanie: nie śledź linków symbolicznych do katalogów i traktuj odmowa uprawnień jako błąd.
follow_directory_symlink Skorzystaj z linków symbolicznych do katalogów, a nie pomijania ich.
skip_permission_denied Dyskretne pomijanie katalogów, które w przeciwnym razie spowodują błąd odmowy uprawnień.

file_type

Wyliczenie typów plików.

Składnia

enum class file_type {
    none = 0,
    not_found,
    regular,
    directory,
    symlink,
    block,
    character,
    fifo,
    socket,
    unknown
};

Standard C++ nie naprawia bazowych wartości całkowitych tych modułów wyliczania, więc nie zależy od określonych wartości liczbowych.

Wartości

Nazwa/nazwisko opis
none Typ pliku nie został jeszcze oceniony lub wystąpił błąd podczas jego oceny.
not_found Nie można odnaleźć pliku.
regular Zwykły plik.
directory Katalog.
symlink Łącze symboliczne.
block Plik specjalny bloku. (Nieużytne w Windows).
character Plik specjalny znaków. (Nieużytne w Windows).
fifo Plik FIFO lub potoku. (Nieużytne w Windows).
socket Gniazdo. (Nieużytne w Windows).
unknown Plik istnieje, ale nie można określić jego typu.

perm_options

Wyliczenie maski bitów, które kontroluje sposób, w jaki permissions funkcja stosuje bity uprawnień.

Składnia

enum class perm_options {
   replace = 1,
   add = 2,
   remove = 4,
   nofollow = 8
};

Wartości

Nazwa/nazwisko opis
replace Zastąp bity uprawnień pliku określonymi uprawnieniami.
add Dodaj określone bity uprawnień do bieżących uprawnień pliku.
remove Usuń określone bity uprawnień z bieżących uprawnień pliku.
nofollow Zmień uprawnienia samego linku symbolicznego, a nie pliku, na który jest rozpoznawany.

perms

Bit maska bitów wylicza bitów uprawnień pliku. W przypadku Windows obsługiwane wartości są zasadniczo "tylko do odczytu" i all. W przypadku pliku tylko do odczytu żaden z *_write bitów nie jest ustawiony. all W przeciwnym razie bit (0777) 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
};

Zobacz też

Odwołanie do plików nagłówka
<filesystem>