std::filesystem::directory_iterator
提供: cppreference.com
< cpp | filesystem
<tbody>
</tbody>
| ヘッダ <filesystem> で定義
|
||
class directory_iterator; |
(C++17以上) | |
directory_iterator はディレクトリの directory_entry 要素をイテレートする LegacyInputIterator です (しかしそのサブディレクトリにはアクセスしません)。 それぞれのディレクトリエントリを一度だけアクセスすることを除き、イテレートする順序は未規定です。 特別なパス名ドットおよびドット-ドットはスキップされます。
directory_iterator がエラーを報告するか最後のディレクトリエントリを超えて進むと、デフォルト構築されたイテレータ (終端イテレータ) と等しくなります。 2つの終端イテレータは常に等しくなります。 終端イテレータのデクリメントまたはインクリメントは未定義動作です。
ディレクトリイテレータの作成後にディレクトリツリーにファイルまたはディレクトリが追加または削除された場合、その変更がイテレータを通して観察されるかどうかは未規定です。
メンバ型
| メンバ型 | 定義 |
value_type
|
std::filesystem::directory_entry |
difference_type
|
std::ptrdiff_t |
pointer
|
const std::filesystem::directory_entry*
|
reference
|
const std::filesystem::directory_entry&
|
iterator_category
|
std::input_iterator_tag |
メンバ関数
| ディレクトリイテレータを構築します (パブリックメンバ関数) | |
デストラクタ |
デフォルトデストラクタ (パブリックメンバ関数) |
| 内容を代入します (パブリックメンバ関数) | |
| 指している先のエントリにアクセスします (パブリックメンバ関数) | |
| 次のエントリに進みます (パブリックメンバ関数) |
非メンバ関数
| 範囲ベースの for ループサポート (関数) |
さらに、 LegacyInputIterator によって要求される通り、メンバまたは非メンバのいずれかとして、 operator== および operator!= が提供されます。
ノート
ディレクトリトラバーサルのための多くの低水準な OS の API は、次のディレクトリエントリと一緒にそのファイルの属性も取得します。 directory_iterator のコンストラクタおよび非 const メンバ関数は、