30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.32 Class directory_­iterator [fs.class.directory_iterator]

30.10.32.1 directory_­iterator members [fs.dir.itr.members]

directory_iterator() noexcept;

Effects: Создает конечный итератор.

explicit directory_iterator(const path& p); directory_iterator(const path& p, directory_options options); directory_iterator(const path& p, error_code& ec) noexcept; directory_iterator(const path& p, directory_options options, error_code& ec) noexcept;

Effects: Для каталога, который p разрешается в, создает итератор для первого элемента в последовательности directory_­entry элементов, представляющих файлы в каталоге, если таковые имеются; в противном случае - конечный итератор. Однако если

(options & directory_options::skip_permission_denied) != directory_options::none

и конструкция обнаруживает ошибку, указывающую, что в доступе p отказано, создает конечный итератор и не сообщает об ошибке.

Throws: Как указано в [fs.err.report].

[ Note: Для перебора текущего каталога используйте directory_­iterator(".") вместо directory_­iterator(""). ] end note

directory_iterator(const directory_iterator& rhs); directory_iterator(directory_iterator&& rhs) noexcept;

Effects: Создает объект класса directory_­iterator.

Postconditions: *this имеет исходное значение rhs.

directory_iterator& operator=(const directory_iterator& rhs); directory_iterator& operator=(directory_iterator&& rhs) noexcept;

Effects: Если *this и rhs являются одним и тем же объектом, член не имеет никакого эффекта.

Postconditions: *this имеет исходное значение rhs.

Returns: *this.

directory_iterator& operator++(); directory_iterator& increment(error_code& ec) noexcept;

Effects: Как указано для операции увеличения префикса Input iterators.

Returns: *this.

Throws: Как указано в [fs.err.report].