std::filesystem::directory_entry::directory_entry
directory_entry() noexcept = default; | (1) | (since C++17) |
directory_entry( const directory_entry& ) = default; | (2) | (since C++17) |
directory_entry( directory_entry&& ) noexcept = default; | (3) | (since C++17) |
explicit directory_entry( const std::filesystem::path& p ); | (4) | (since C++17) |
directory_entry( const std::filesystem::path& p, std::error_code& ec ); | (5) | (since C++17) |
Создаёт новый объект directory_entry.
1) Конструктор по умолчанию.
2) Копирующий конструктор по умолчанию.
3) Перемещающий конструктор по умолчанию.
4,5) Инициализирует запись каталога с путём
p и вызывает refresh для обновления кэшированных атрибутов. Если произошла ошибка, небросковая перегрузка оставляет directory_entry содержащую путь, созданный по умолчанию.Параметры
| p | - | путь к объекту файловой системы, на который будет ссылаться запись каталога |
| ec | - | параметр-результат для отчёта об ошибках в небросковой перегрузке |
Исключение
Любая перегрузка, не помеченная noexcept может вызвать std::bad_alloc если выделение памяти завершилось неудачно.
1-4) Вызывает
std::filesystem::filesystem_error при ошибках в API ОС, созданных с p в качестве первого аргумента пути и кодом ошибки ОС в качестве аргумента ошибки.
5) Устанавливает параметр
std::error_code& в код ошибки API ОС, если вызов API ОС завершается ошибкой, и выполняет ec.clear() если ошибок не произошло.Пример
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/filesystem/directory_entry/directory_entry