std::filesystem::recursive_directory_iterator:: operator++, std::filesystem::recursive_directory_iterator:: increment
|
recursive_directory_iterator
&
operator
++
(
)
;
|
(1) | (seit C++17) |
|
recursive_directory_iterator
&
increment
(
std::
error_code
&
ec
)
;
|
(2) | (seit C++17) |
Setzt den Iterator auf den nächsten Eintrag fort. Macht alle Kopien des vorherigen Werts von * this ungültig.
Wenn keine weiteren Einträge im aktuell durchlaufenen Verzeichnis vorhanden sind, wird die Iteration über das übergeordnete Verzeichnis fortgesetzt. Der Vorgang wird wiederholt, wenn das übergeordnete Verzeichnis keine Geschwistereinträge hat, die durchlaufen werden können. Wenn das Elternelement der Verzeichnishierarchie erreicht wird, die rekursiv durchlaufen wurde (es gibt keine Kandidateneinträge bei depth ( ) == 0 ) , * this wird auf einen End-Iterator gesetzt.
Andernfalls, wenn * this auf ein Verzeichnis verweist, wird hinein iteriert, wenn die folgenden Bedingungen erfüllt sind:
- disable_recursion_pending() wurde vor diesem Inkrement nicht aufgerufen, d.h. recursion_pending ( ) == true .
-
Das Verzeichnis ist kein Symlink oder das Folgen von Symlinks ist aktiviert, d.h. mindestens eine der folgenden Bedingungen ist wahr:
- ! is_symlink ( ( * this ) - > symlink_status ( ) ) .
- ( options ( ) & directory_options :: follow_directory_symlink ) ! = directory_options :: none )
Inhaltsverzeichnis |
Parameter
| ec | - | Fehlercode, in dem der Fehlerstatus gespeichert wird |
Rückgabewert
* this
Ausnahmen
Jede Überladung, die nicht als
noexcept
gekennzeichnet ist, kann
std::bad_alloc
auslösen, wenn die Speicherzuweisung fehlschlägt.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 3013 | C++17 |
error_code
Überladung als noexcept markiert, kann aber Speicher allozieren
|
noexcept entfernt |