std::experimental::filesystem::recursive_directory_iterator::operator++, inkrementieren
Von cppreference.com
< cpp | experimental | fs | recursive directory iterator
| recursive_directory_iterator& operator++(); |
(Dateisystem-TS) | |
| recursive_directory_iterator& increment( error_code& ec ); |
(Dateisystem-TS) | |
Inkrementiert den Iterator zum nächsten Eintrag.
Wenn keine weiteren Einträge mehr im aktuell durchlaufenen Verzeichnis vorhanden sind, wird die Iteration im übergeordneten Verzeichnis fortgesetzt. Dieser Vorgang wird wiederholt, wenn das übergeordnete Verzeichnis keine Geschworeneinträge mehr hat, die durchlaufen werden können. Wenn die Wurzel der Verzeichnishierarchie erreicht ist, die rekursiv durchlaufen wurde (es gibt keine Kandidateneinträge bei depth() = 0)), wird *this auf einen End-Iterator gesetzt.
Andernfalls, wenn *this sich auf ein Verzeichnis bezieht, wird in dieses iteriert, wenn die folgenden Bedingungen erfüllt sind:
- disable_recursion_pending() wurde vor dieser Inkrementierung nicht aufgerufen, d.h. recursion_pending() = true.
- Das Verzeichnis ist kein Symlink oder das Folgen von Symlinks ist aktiviert, d.h.
- !is_symlink(this->symlink_status()) ||
(options() & directory_options::follow_directory_symlink) != 0).
[bearbeiten] Parameter
| ec | - | Fehlercode, in dem der Fehlerstatus gespeichert wird |
[bearbeiten] Rückgabewert
*this
[bearbeiten] Ausnahmen
1) filesystem_error, wenn ein Fehler auftritt. Der Fehlercode wird auf einen geeigneten Fehlercode für den aufgetretenen Fehler gesetzt.
2)
noexcept-Spezifikation:
noexcept