table of contents
std::experimental::unique_resource::reset(3) | C++ Standard Libary | std::experimental::unique_resource::reset(3) |
NAME¶
std::experimental::unique_resource::reset - std::experimental::unique_resource::reset
Synopsis¶
void reset() noexcept; (1) (library fundamentals TS v3)
template< class RR > (2) (library fundamentals TS v3)
void reset( RR&& r );
1) Disposes the resource by calling the deleter with the underlying resource
handle
if the unique_resource owns it. The unique_resource does not own the resource
after
the call.
2) Replaces the resource by calling (1) and then assigns the stored
resource handle
with std::forward<RR>(r) if std::is_nothrow_assignable_v<RS, RR>
is true, otherwise
std::as_const(r), where RS is the type of stored resource handle. The
unique_resource owns the resource after the call.
If copy-assignment of the store resource handle throws an exception, calls
del_(r),
where del is the deleter object.
This overload participates in overload resolution only if the selected
assignment
expression assigning the stored resource handle is well-formed.
The program is ill-formed if del_(r) is ill-formed.
The behavior is undefined if del_(r) results in undefined behavior or throws
an
exception.
Parameters¶
r - resource handle for a new resource to manage
Return value¶
(none)
Exceptions¶
2) Any exception thrown in assigning the stored resource handle.
Notes¶
The mechanism ensures no leaking of resources.
Example¶
This section is incomplete
Reason: no example
See also¶
reset replaces the managed object
(public member function of std::unique_ptr<T,Deleter>)
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |