Namespaces
Variants

std::experimental::unique_resource<R, D>:: reset

From cppreference.net
void reset ( ) noexcept ;
(1) (техническая спецификация библиотеки fundamentals v3)
template < class RR >
void reset ( RR && r ) ;
(2) (техническая спецификация библиотеки fundamentals v3)
1) Освобождает ресурс путем вызова deleter с использованием базового дескриптора ресурса, если unique_resource владеет им. После вызова unique_resource больше не владеет ресурсом.
2) Заменяет ресурс, вызывая (1) и затем присваивает сохранённый дескриптор ресурса с помощью std:: forward < RR > ( r ) если std:: is_nothrow_assignable_v < RS, RR > равно true , иначе с помощью std:: as_const ( r ) , где RS - тип сохранённого дескриптора ресурса. unique_resource владеет ресурсом после вызова.
Если копирующее присваивание дескриптора ресурса хранилища вызывает исключение, вызывается del_ ( r ) , где del - это объект-делетер.
Эта перегрузка участвует в разрешении перегрузки только если выбранное выражение присваивания, присваивающее сохранённый дескриптор ресурса, является корректно сформированным.
Программа является некорректной, если del_ ( r ) является некорректной.
Поведение не определено, если del_ ( r ) приводит к неопределённому поведению или выбрасывает исключение.

Содержание

Параметры

r - дескриптор ресурса для управления новым ресурсом

Возвращаемое значение

(нет)

Исключения

2) Любое исключение, возникающее при присваивании сохраненного дескриптора ресурса.

Примечания

Механизм гарантирует отсутствие утечки ресурсов.

Пример

Смотрите также

заменяет управляемый объект
(публичная функция-член std::unique_ptr<T,Deleter> )