std::filesystem::recursive_directory_iterator:: operator++, std::filesystem::recursive_directory_iterator:: increment
|
recursive_directory_iterator
&
operator
++
(
)
;
|
(1) | (C++17以降) |
|
recursive_directory_iterator
&
increment
(
std::
error_code
&
ec
)
;
|
(2) | (C++17以降) |
イテレータを次のエントリに進めます。この操作により、 * this の前の値のすべてのコピーが無効化されます。
現在反復中のディレクトリにこれ以上エントリが存在しない場合、親ディレクトリに対する反復が再開されます。親ディレクトリに反復可能な兄弟エントリが存在しない場合、このプロセスが繰り返されます。再帰的に反復されたディレクトリ階層の親に到達した場合( depth ( ) == 0 ) において候補エントリが存在しない場合)、 * this は終端イテレータに設定されます。
それ以外の場合、 * this がディレクトリを参照している場合、以下の条件が満たされるときに反復処理されます:
- disable_recursion_pending() がこのインクリメントの前に呼び出されていない、すなわち recursion_pending ( ) == true である場合。
-
ディレクトリがシンボリックリンクではないか、シンボリックリンクの追跡が有効である場合、すなわち以下の少なくとも一方が真である場合:
- ! is_symlink ( ( * this ) - > symlink_status ( ) ) 。
- ( options ( ) & directory_options :: follow_directory_symlink ) ! = directory_options :: none )
目次 |
パラメータ
| ec | - | エラーステータスを格納するエラーコード |
戻り値
* this
例外
noexcept
でマークされていないオーバーロードは、
メモリ確保に失敗した場合
std::bad_alloc
をスローする可能性があります。
例
|
このセクションは不完全です
理由: 例がありません |
不具合報告
以下の動作変更欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。
| DR | 適用対象 | 公開時の動作 | 正しい動作 |
|---|---|---|---|
| LWG 3013 | C++17 |
error_code
オーバーロードがnoexceptとマークされているがメモリを割り当てる可能性がある
|
noexceptが削除された |