<filesystem>, énumerations

Cet article documente les énumérations dans l’implémentation C++17 std::filesystem de l’en-tête <filesystem> .

Note

Cette page documente les énumérations C++17 std::filesystem . Pour les énumérations préstandard historiques fournies par MSVC, <experimental/filesystem>consultez <experimental/filesystem> les énumérations.

Spécifications

En-tête :<filesystem>

Noms:std::filesystem

copy_options

Énumération des valeurs de masque de bits que vous utilisez avec et copy_file des copy fonctions pour spécifier le comportement.

Syntaxe

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

Valeurs

Nom Description
none Exécute le comportement par défaut de l’opération.
skip_existing Ne pas copier si le fichier existe déjà, ne pas signaler une erreur.
overwrite_existing Remplacer le fichier s'il existe déjà.
update_existing Remplacer le fichier s’il existe déjà et qu’il est plus ancien que le remplacement.
recursive Copier dans les sous-répertoires et leur contenu de façon récursive.
copy_symlinks Copier les liens symboliques sous la forme de liens symboliques, au lieu de copier les fichiers vers lesquels ils pointent.
skip_symlinks Ignorer les liens symboliques.
directories_only Itérer uniquement sur les répertoires, ignorer les fichiers.
create_symlinks Créer des liens symboliques au lieu de copier les fichiers. Un chemin absolu doit servir de chemin source, sauf si la destination est le répertoire actuel.
create_hard_links Créer des liens physiques au lieu de copier les fichiers.

directory_options

Énumération de masque de bits qui contrôle la façon dont l’itération du répertoire gère les liens symboliques vers les répertoires et les erreurs refusées par autorisation.

Syntaxe

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

Valeurs

Nom Description
none Comportement par défaut : ne suivez pas les liens symboliques vers les répertoires et traitez l’autorisation refusée comme une erreur.
follow_directory_symlink Suivez les liens symboliques vers les répertoires plutôt que de les ignorer.
skip_permission_denied Ignorez silencieusement les répertoires qui entraînent sinon une erreur d’autorisation refusée.

file_type

Énumération pour les types de fichiers.

Syntaxe

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

La norme C++ ne corrige pas les valeurs entières sous-jacentes de ces énumérateurs. Par conséquent, ne dépendez pas de valeurs numériques spécifiques.

Valeurs

Nom Description
none Le type de fichier n’a pas encore été évalué ou une erreur s’est produite lors de son évaluation.
not_found Le fichier n’a pas été trouvé.
regular Un fichier normal.
directory Un annuaire.
symlink Lien symbolique.
block Fichier spécial bloc. (Non utilisé sur Windows.)
character Fichier spécial caractère. (Non utilisé sur Windows.)
fifo Fichier FIFO ou canal. (Non utilisé sur Windows.)
socket Un socket. (Non utilisé sur Windows.)
unknown Le fichier existe, mais son type ne peut pas être déterminé.

perm_options

Énumération de masque de bits qui contrôle la façon dont la fonction applique les permissions bits d’autorisation.

Syntaxe

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

Valeurs

Nom Description
replace Remplacez les bits d’autorisation du fichier par les autorisations spécifiées.
add Ajoutez les bits d’autorisation spécifiés aux autorisations actuelles du fichier.
remove Supprimez les bits d’autorisation spécifiés des autorisations actuelles du fichier.
nofollow Modifiez les autorisations d’un lien symbolique lui-même plutôt que le fichier vers lequel elle est résolue.

Permanentes

Énumération de masque de bits des bits d’autorisation de fichier. Sur Windows, les valeurs prises en charge sont essentiellement « en lecture seule » et all. Pour un fichier en lecture seule, aucun des bits n’est *_write défini. Sinon, le all bit (0777) est défini.

Syntaxe

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

Voir aussi

Informations de référence sur les fichiers d’en-tête
<filesystem>