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