<filesystem> 列挙型

この記事では、<filesystem> ヘッダーの C++17 std::filesystem実装の列挙について説明します。

Note

このページでは、C++17 std::filesystem 列挙型について説明します。 MSVC が <experimental/filesystem>で提供した従来の列挙の履歴については、 <experimental/filesystem> 列挙型を参照してください。

要件

ヘッダー: <filesystem>

名前 空間:std::filesystem

copy_options

動作を指定するために copy 関数と copy_file 関数で使用するビットマスク値の列挙。

構文

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

値

名前 説明
none 演算の既定の動作を実行します。
skip_existing ファイルが既に存在する場合はコピーしません。エラーをレポートしません。
overwrite_existing ファイルが既に存在する場合、ファイルを上書きします。
update_existing ファイルが既に存在し、そのファイルの方が古い場合、ファイルを上書きします。
recursive サブディレクトリとその内容を再帰的にコピーします。
copy_symlinks シンボリック リンクが示すファイルをコピーするのではなく、シンボリック リンクをシンボリック リンクとしてコピーします。
skip_symlinks シンボリック リンクを無視します。
directories_only ディレクトリに対してのみ反復処理を実行します。ファイルを無視します。
create_symlinks ファイルをコピーするのではなく、シンボリック リンクを作成します。 対象がカレント ディレクトリではない場合、ソース パスとして絶対パスを使用する必要があります。
create_hard_links ファイルをコピーするのではなく、ハード リンクを作成します。

directory_options

ディレクトリイテレーションがディレクトリへのシンボリック リンクとアクセス許可拒否エラーを処理する方法を制御するビットマスク列挙体。

構文

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

値

名前 説明
none 既定の動作: ディレクトリへのシンボリック リンクに従わないようにし、拒否されたアクセス許可をエラーとして扱います。
follow_directory_symlink ディレクトリをスキップするのではなく、シンボリック リンクに従ってください。
skip_permission_denied それ以外の場合はアクセス許可拒否エラーが発生するディレクトリをサイレント スキップします。

file_type

ファイルの種類の列挙型。

構文

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

C++ 標準では、これらの列挙子の基になる整数値は修正されないため、特定の数値に依存しないでください。

値

名前 説明
none ファイルの種類がまだ評価されていないか、評価中にエラーが発生しました。
not_found ファイルが見つかりませんでした。
regular 通常のファイル。
directory ディレクトリ。
symlink シンボリック リンク。
block ブロック特殊ファイル。 (Windowsでは使用されません。
character 文字特殊ファイル。 (Windowsでは使用されません。
fifo FIFO またはパイプ ファイル。 (Windowsでは使用されません。
socket ソケット。 (Windowsでは使用されません。
unknown ファイルは存在しますが、その種類を特定できません。

perm_options

permissions関数がアクセス許可ビットを適用する方法を制御するビットマスク列挙体。

構文

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

値

名前 説明
replace ファイルのアクセス許可ビットを、指定したアクセス許可に置き換えます。
add 指定したアクセス許可ビットをファイルの現在のアクセス許可に追加します。
remove ファイルの現在のアクセス許可から、指定したアクセス許可ビットを削除します。
nofollow 解決先のファイルではなく、シンボリック リンク自体のアクセス許可を変更します。

perms

ファイルアクセス許可ビットのビットマスク列挙。 Windowsでは、サポートされる値は基本的に "読み取り専用" であり、all。 読み取り専用ファイルの場合、 *_write ビットは設定されていません。 それ以外の場合は、 all ビット (0777) が設定されます。

構文

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

関連項目

ヘッダー ファイル リファレンス
<filesystem>