Namespaces
Variants

std::filesystem::recursive_directory_iterator:: recursive_directory_iterator

From cppreference.net
recursive_directory_iterator ( ) noexcept ;
(1) (C++17以降)
recursive_directory_iterator ( const recursive_directory_iterator & other ) ;
(2) (C++17以降)
recursive_directory_iterator ( recursive_directory_iterator && other ) noexcept ;
(3) (C++17以降)
explicit recursive_directory_iterator ( const std:: filesystem :: path & p ) ;
(4) (C++17以降)
recursive_directory_iterator (

const std:: filesystem :: path & p,

std:: filesystem :: directory_options options ) ;
(5) (C++17以降)
recursive_directory_iterator (

const std:: filesystem :: path & p,

std:: filesystem :: directory_options options,
std:: error_code & ec ) ;
(6) (C++17以降)
recursive_directory_iterator ( const std:: filesystem :: path & p, std:: error_code & ec ) ;
(7) (C++17以降)

新しい再帰的ディレクトリイテレータを構築します。

1) デフォルトコンストラクタ。終端イテレータを構築します。
2) コピーコンストラクタ。
3) ムーブコンストラクタ。
4-7) pが解決するディレクトリ内の最初のエントリを参照するイテレータを構築します。

目次

パラメータ

p - ディレクトリイテレータが参照するファイルシステムオブジェクトへのパス
ec - 例外を送出しないオーバーロードでのエラー報告用出力パラメータ
options - ディレクトリイテレータの動作を制御する BitmaskType オプションのセット
other - ディレクトリイテレータの初期化ソースとして使用する別のディレクトリイテレータ

例外

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

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

注記

再帰的ディレクトリイテレータはデフォルトではディレクトリシンボリックリンクを追従しません。この動作を有効にするには、 directory_options::follow_directory_symlink options オプションセットに指定してください。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 3013 C++17 error_code オーバーロードがnoexceptとマークされているがメモリを割り当てる可能性がある noexceptが削除された