Namespaces
Variants

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

From cppreference.net
void reset ( ) noexcept ;
(1) (biblioteca fundamentals TS v3)
template < class RR >
void reset ( RR && r ) ;
(2) (biblioteca fundamentals TS v3)
1) Libera el recurso llamando al eliminador con el manejador del recurso subyacente si el unique_resource lo posee. El unique_resource no posee el recurso después de la llamada.
2) Reemplaza el recurso llamando a (1) y luego asigna el manejador de recurso almacenado con std:: forward < RR > ( r ) si std:: is_nothrow_assignable_v < RS, RR > es true , de lo contrario con std:: as_const ( r ) , donde RS es el tipo del manejador de recurso almacenado. El unique_resource posee el recurso después de la llamada.
Si la asignación de copia del manejador de recursos del almacén lanza una excepción, llama a del_ ( r ) , donde del es el objeto deleter.
Esta sobrecarga participa en la resolución de sobrecarga solo si la expresión de asignación seleccionada que asigna el manejador de recursos almacenado está bien formada.
El programa está mal formado si del_ ( r ) está mal formado.
El comportamiento es indefinido si del_ ( r ) resulta en comportamiento indefinido o lanza una excepción.

Contenidos

Parámetros

r - identificador de recurso para un nuevo recurso a gestionar

Valor de retorno

(ninguno)

Excepciones

2) Cualquier excepción lanzada al asignar el manejador de recurso almacenado.

Notas

El mecanismo garantiza que no haya fugas de recursos.

Ejemplo

Véase también

reemplaza el objeto gestionado
(función miembro pública de std::unique_ptr<T,Deleter> )