std::experimental::filesystem::recursive_directory_iterator::operator++, increment
From cppreference.com
< cpp | experimental | fs | recursive directory iterator
| recursive_directory_iterator& operator++(); |
(filesystem TS) | |
| recursive_directory_iterator& increment( error_code& ec ); |
(filesystem TS) | |
イテレータを次のエントリに進めます。
現在イテレート中のディレクトリにこれ以上エントリがない場合、イテレーションは親ディレクトリで再開されます。親ディレクトリにイテレート可能な兄弟エントリがない場合、このプロセスは繰り返されます。再帰的にイテレートされたディレクトリ階層の親に到達した場合(depth() == 0) で候補となるエントリがない場合)、*this は終端イテレータに設定されます。
それ以外の場合、*this がディレクトリを参照している場合、以下の条件が満たされれば、そのディレクトリがイテレートされます。
- disable_recursion_pending() がこのインクリメントの前に呼び出されていないこと、すなわち recursion_pending() == true であること。
- そのディレクトリがシンボリックリンクではないか、またはシンボリックリンクをたどることが有効になっていること、すなわち
- !is_symlink(this->symlink_status()) ||
(options() & directory_options::follow_directory_symlink) != 0).
[編集] パラメータ
| エラーコード | - | エラー状態を格納するためのエラーコード |
[編集] 戻り値
*this
[編集] 例外
1) エラーが発生した場合、filesystem_error。エラーコードは、失敗の原因となったエラーに対して適切なエラーコードに設定されます。
2)
noexcept 指定:
noexcept