std::filesystem::directory_iterator::operator++, std::filesystem::directory_iterator::increment
directory_iterator& operator++(); | (1) | (начиная с C++17) |
directory_iterator& increment( std::error_code& ec ); | (2) | (начиная с C++17) |
Перемещает итератор к следующей записи. Аннулирует все копии предыдущего значения *this.
Параметры
| ec | - | код ошибки для сохранения состояния ошибки |
Возвращаемое значение
*this
Исключения
Любая перегрузка, не помеченная noexcept, может выбросить std::bad_alloc при сбое выделения памяти.
1) Выбрасывает
std::filesystem::filesystem_error при ошибках базового API ОС; код ошибки ОС передаётся в качестве аргумента кода ошибки.
2) Записывает код ошибки API ОС в параметр
std::error_code&, если вызов API ОС завершается с ошибкой, и выполняет ec.clear() при отсутствии ошибок.Пример
Отчёты об исправлении ошибок
Следующие отчёты об исправлении ошибок, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.
| DR | Применён к | Поведение согласно опубликованному стандарту | Корректное поведение |
|---|---|---|---|
| LWG 3013 | C++17 |
error_code перегрузка помечена noexcept, но может выделять память | noexcept удалён |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/filesystem/directory_iterator/increment