std::filesystem::directory_iterator:: directory_iterator
|
directory_iterator
(
)
noexcept
;
|
(1) | (начиная с C++17) |
|
explicit
directory_iterator
(
const
std::
filesystem
::
path
&
p
)
;
|
(2) | (начиная с C++17) |
|
directory_iterator
(
const
std::
filesystem
::
path
&
p,
std:: filesystem :: directory_options options ) ; |
(3) | (начиная с C++17) |
|
directory_iterator
(
const
std::
filesystem
::
path
&
p,
std::
error_code
&
ec
)
;
|
(4) | (начиная с C++17) |
|
directory_iterator
(
const
std::
filesystem
::
path
&
p,
std::
filesystem
::
directory_options
options,
|
(5) | (начиная с C++17) |
|
directory_iterator
(
const
directory_iterator
&
other
)
=
default
;
|
(6) | (начиная с C++17) |
|
directory_iterator
(
directory_iterator
&&
other
)
=
default
;
|
(7) | (начиная с C++17) |
Создает новый итератор каталога.
p
. Если
p
ссылается на несуществующий файл или не является каталогом, выбрасывается
std::filesystem::filesystem_error
.
options
и при построении возникает ошибка доступа, конструирует конечный итератор и не сообщает об ошибке.
p
. Если
p
ссылается на несуществующий файл или не является каталогом, возвращает конечный итератор и устанавливает
ec
.
options
и при конструировании возникает ошибка доступа, конструирует конечный итератор и не сообщает об ошибке.
Содержание |
Параметры
| p | - | путь к объекту файловой системы, на который будет ссылаться итератор директории |
| ec | - | выходной параметр для сообщения об ошибках в непорождающих перегрузках |
| options | - | набор BitmaskType опций, которые управляют поведением итератора директории |
| other | - | другой итератор директории, используемый в качестве источника для инициализации итератора директории |
Исключения
Любая перегрузка, не помеченная
noexcept
, может выбрасывать
std::bad_alloc
при неудачном выделении памяти.
Примечания
Для итерации по текущему каталогу создайте итератор как directory_iterator ( "." ) вместо directory_iterator ( "" ) .
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены задним числом к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 3013 | C++17 |
error_code
overload marked noexcept but can allocate memory
|
noexcept removed |
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 3013 | C++17 |
error_code
перегрузка помечена как noexcept, но может выделять память
|
noexcept удален |