Spec-Zone.ru › C++

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 при сбое выделения памяти.

1) Выбрасывает std::filesystem::filesystem_error при ошибках нижележащего API ОС; исключение создаётся с p в качестве первого аргумента пути и кодом ошибки ОС в качестве аргумента кода ошибки.
2) При сбое вызова API ОС устанавливает параметр std::error_code& в код ошибки API ОС, а при отсутствии ошибок выполняет ec.clear().

Примечания

Многие низкоуровневые API ОС для обхода каталогов получают атрибуты файлов вместе со следующей записью каталога. Конструкторы и неконстантные функции-члены std::filesystem::directory_iterator сохраняют эти атрибуты, если они есть, в объекте std::filesystem::directory_entry, на который указывает указатель, не вызывая directory_entry::refresh. Это позволяет изучать атрибуты записей каталога во время их перебора без дополнительных системных вызовов.

Пример

См. также

statussymlink_status
состояние файла, обозначенного этой записью каталога;
состояние файла/символической ссылки, обозначенных этой записью каталога
(функция-член открытого доступа)
exists
проверяет, ссылается ли запись каталога на существующий объект файловой системы
(функция-член открытого доступа)
is_block_file
проверяет, ссылается ли запись каталога на блочное устройство
(функция-член открытого доступа)
is_character_file
проверяет, ссылается ли запись каталога на символьное устройство
(функция-член открытого доступа)
is_directory
проверяет, ссылается ли запись каталога на каталог
(функция-член открытого доступа)
is_fifo
проверяет, ссылается ли запись каталога на именованный канал
(функция-член открытого доступа)
is_other
проверяет, ссылается ли запись каталога на файл другого типа
(функция-член открытого доступа)
is_regular_file
проверяет, ссылается ли запись каталога на обычный файл
(функция-член открытого доступа)
is_socket
проверяет, ссылается ли запись каталога на именованный сокет IPC
(функция-член открытого доступа)
is_symlink
проверяет, ссылается ли запись каталога на символическую ссылку
(функция-член открытого доступа)
file_size
возвращает размер файла, на который ссылается запись каталога
(функция-член открытого доступа)
hard_link_count
возвращает число жёстких ссылок на файл, на который ссылается запись каталога
(функция-член открытого доступа)
last_write_time
получает время последнего изменения данных файла, на который ссылается запись каталога
(функция-член открытого доступа)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/filesystem/directory_entry/refresh

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API