<filesystem> opsommingen

In dit artikel worden de inventarisaties in de C++17-implementatie std::filesystem van de <filesystem> header beschreven.

Opmerking

Op deze pagina worden de C++17-opsommingen std::filesystem geregistreerd. Zie opsommingen voor de historische vooraf gedefinieerde opsommingen waarin MSVC is opgegeven<experimental/filesystem><experimental/filesystem>.

Requirements

Rubriek:<filesystem>

Naamruimte:std::filesystem

copy_options

Een opsomming van bitmaskerwaarden die u gebruikt met copy en copy_file functies om gedrag op te geven.

Syntaxis

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
};

Values

Name Beschrijving
none Voer het standaardgedrag voor de bewerking uit.
skip_existing Kopieer niet als het bestand al bestaat, geen fout melden.
overwrite_existing Overschrijf het bestand als het al bestaat.
update_existing Overschrijf het bestand als het al bestaat en ouder is dan de vervanging.
recursive Kopieer recursief submappen en de bijbehorende inhoud.
copy_symlinks Kopieer symbolische koppelingen als symbolische koppelingen in plaats van de bestanden die ze aanwijzen te kopiëren.
skip_symlinks Symbolische koppelingen negeren.
directories_only Alleen mappen herhalen, bestanden negeren.
create_symlinks Symbolische koppelingen maken in plaats van bestanden te kopiëren. Een absoluut pad moet worden gebruikt als het bronpad, tenzij het doel de huidige map is.
create_hard_links Vaste koppelingen maken in plaats van bestanden te kopiëren.

directory_options

Een bitmask-opsomming die bepaalt hoe directory-iteratie symbolische koppelingen naar mappen verwerkt en fouten waarvoor machtigingen zijn geweigerd.

Syntaxis

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

Values

Name Beschrijving
none Standaardgedrag: volg geen symbolische koppelingen naar mappen en behandel de machtiging geweigerd als een fout.
follow_directory_symlink Volg symbolische koppelingen naar mappen in plaats van ze over te slaan.
skip_permission_denied Sla mappen op de achtergrond over die anders leiden tot een fout met geweigerde machtigingen.

file_type

Een opsomming voor bestandstypen.

Syntaxis

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

De C++-standaard lost de onderliggende geheel getalwaarden van deze enumerators niet op, dus niet afhankelijk van specifieke numerieke waarden.

Values

Name Beschrijving
none Het bestandstype is nog niet geëvalueerd of er is een fout opgetreden bij het evalueren ervan.
not_found Het bestand is niet gevonden.
regular Een gewoon bestand.
directory Een map.
symlink Een symbolische koppeling.
block Een blok speciaal bestand. (Niet gebruikt voor Windows.)
character Een speciaal bestand met tekens. (Niet gebruikt voor Windows.)
fifo Een FIFO- of pipe-bestand. (Niet gebruikt voor Windows.)
socket Een socket. (Niet gebruikt voor Windows.)
unknown Het bestand bestaat, maar het type kan niet worden bepaald.

perm_options

Een bitmask-opsomming waarmee wordt bepaald hoe de permissions functie machtigings-bits toepast.

Syntaxis

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

Values

Name Beschrijving
replace Vervang de machtigings bits van het bestand door de opgegeven machtigingen.
add Voeg de opgegeven machtigingsbits toe aan de huidige machtigingen van het bestand.
remove Verwijder de opgegeven machtigingsbits uit de huidige machtigingen van het bestand.
nofollow Wijzig de machtigingen van een symbolische koppeling zelf in plaats van het bestand dat wordt omgezet.

perms

Een bitmask-opsomming van bits voor bestandsmachtigingen. Op Windows zijn de ondersteunde waarden in wezen 'alleen-lezen' en all. Voor een bestand met het kenmerk Alleen-lezen worden geen van de *_write bits ingesteld. Anders is de all bit (0777) ingesteld.

Syntaxis

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
};

Zie ook

headerbestanden
<filesystem>