std::filesystem::directory_entry::refresh
From cppreference.com
< cpp | filesystem | directory entry
| void refresh(); |
(1) | (C++17以降) |
| void refresh( std::error_code& ec ) noexcept; |
(2) | (C++17以降) |
このディレクトリエントリが参照するファイルシステムオブジェクトを調べ、その属性を status、exists、is_regular_file、およびその他のステータスアクセサで取得できるように格納します。
エラーが発生した場合、キャッシュされた属性の値は未定義となります。
目次 |
[編集] パラメータ
| エラーコード | - | 例外を投げないオーバーロードでのエラー報告のための出力パラメータ |
[編集] 戻り値
(なし)
[編集] 例外
noexcept とマークされていないオーバーロードは、メモリ割り当てが失敗した場合に std::bad_alloc をスローする可能性があります。
1) 基盤となるOS APIエラーが発生した場合、最初のパス引数としてp、エラーコード引数としてOSのエラーコードとともに構築されたstd::filesystem::filesystem_error を投げます。
[編集] 注記
ディレクトリ走査のための多くの低レベルOS APIは、次のディレクトリエントリと共にファイル属性を取得します。 std::filesystem::directory_iterator のコンストラクタおよび非constメンバ関数は、これらの属性があれば、指している std::filesystem::directory_entry に格納します。その際、directory_entry::refresh は呼び出されません。これにより、追加のシステムコールを行うことなく、イテレーション中にディレクトリエントリの属性を調べることが可能になります。
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| このディレクトリエントリによって指定されるファイルのステータス。 このディレクトリエントリによって指定されるファイル/シンボリックリンクのステータス。 (public member function) | |
| ディレクトリエントリが既存のファイルシステムオブジェクトを参照しているかどうかを確認します (public member function) | |
| ディレクトリエントリがブロックデバイスを参照しているかどうかをチェックします (public member function) | |
| ディレクトリエントリがキャラクタデバイスを参照しているかどうかを確認します (public member function) | |
| ディレクトリエントリーがディレクトリを参照しているかどうかをチェックします。 (public member function) | |
| ディレクトリエントリが名前付きパイプを参照しているかどうかをチェックします (public member function) | |
| ディレクトリエントリが*その他の*ファイルを参照しているかどうかを確認します (public member function) | |
| ディレクトリエントリが通常のファイルを参照するかどうかをチェックします (public member function) | |
| ディレクトリエントリが名前付きIPCソケットを参照しているかどうかを確認します (public member function) | |
| ディレクトリエントリがシンボリックリンクを参照しているかどうかをチェックします (public member function) | |
| ディレクトリエントリが参照するファイルのサイズを返します。 (public member function) | |
| ディレクトリエントリが参照するファイルを参照するハードリンクの数を返します (public member function) | |
| ディレクトリエントリが指すファイルの最終データ変更時刻を取得します。 (public member function) |