Namespaces
Variants

std::filesystem::directory_entry:: refresh

From cppreference.net
void refresh ( ) ;
(1) (C++17以降)
void refresh ( std:: error_code & ec ) noexcept ;
(2) (C++17以降)

このディレクトリエントリによって参照されるファイルシステムオブジェクトを検査し、その属性を status exists is_regular_file およびその他のステータスアクセサによる取得のために保存します。

エラーが発生した場合、キャッシュされた属性の値は未指定となります。

目次

パラメータ

ec - 例外を投げないオーバーロードにおけるエラー報告用の出力パラメータ

戻り値

(なし)

例外

noexcept でマークされていないオーバーロードは、 メモリ確保に失敗した場合 std::bad_alloc をスローする可能性があります。

1) 基盤となるOS APIエラーが発生した場合 std::filesystem::filesystem_error をスローします。これは p を第一パス引数、OSエラーコードをエラーコード引数として構築されます。
2) OS API呼び出しが失敗した場合、 std:: error_code & パラメータをOS APIエラーコードに設定し、エラーが発生しなかった場合は ec. clear ( ) を実行します。

注記

多くの低レベルOS APIは、ディレクトリ走査時に次のディレクトリエントリとともにファイル属性も取得します。 std::filesystem::directory_iterator のコンストラクタおよび非constメンバ関数は、これらの属性(もしあれば)を指し示す std::filesystem::directory_entry に保存します。これは directory_entry::refresh を呼び出さずに行われるため、追加のシステムコールを必要とせず、ディレクトリエントリの属性をイテレーション中に検査することが可能になります。

関連項目

このディレクトリエントリが指すファイルのステータス;
このディレクトリエントリが指すファイル/シンボリックリンクのステータス
(公開メンバ関数)
ディレクトリエントリが既存のファイルシステムオブジェクトを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリがブロックデバイスを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリがキャラクターデバイスを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリがディレクトリを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリが名前付きパイプを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリが その他 のファイルを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリが通常ファイルを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリが名前付きIPCソケットを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリがシンボリックリンクを参照しているかチェックする
(公開メンバ関数)
ディレクトリエントリが指すファイルのサイズを返す
(公開メンバ関数)
ディレクトリエントリが指すファイルを参照するハードリンクの数を返す
(公開メンバ関数)
ディレクトリエントリが指すファイルの最終データ更新時刻を取得する
(公開メンバ関数)