|
R const & | get () const noexcept |
|
D & | get_deleter () noexcept |
|
D const & | get_deleter () const noexcept |
|
| operator R const & () const noexcept |
|
template<typename RR = R> |
auto | operator* () const noexcept-> decltype(*std::declval< RR const & >()) |
|
R | operator-> () const noexcept(std::is_nothrow_copy_constructible< R >::value) |
|
unique_resource & | operator= (unique_resource &&that) noexcept(_is_nothrow_delete::value && std::is_nothrow_move_assignable< R >::value && std::is_nothrow_move_assignable< D >::value) |
|
unique_resource & | operator= (unique_resource const &)=delete |
|
void | release () noexcept |
|
void | reset () noexcept(_is_nothrow_delete::value) |
|
void | reset (R const &r) noexcept(_is_nothrow_delete::value &&std::is_nothrow_copy_assignable< R >::value) |
|
void | reset (R &r) noexcept(_is_nothrow_delete::value &&std::is_nothrow_copy_assignable< R >::value) |
|
void | reset (R &&r) noexcept(_is_nothrow_delete::value &&std::is_nothrow_move_assignable< R >::value) |
|
void | swap (unique_resource &that) noexcept(_is_nothrow_swappable::value) |
|
template<typename RR , typename DD , typename RRef = detail::_coerce_to_ref_of_t<RR, R>, typename DRef = detail::_coerce_to_ref_of_t<DD, D>, typename = meta::if_<detail::_is_constructible<R, RRef>>, typename = meta::if_<detail::_is_constructible<D, DRef>>> |
| unique_resource (RR &&r, DD &&d) noexcept(std::is_nothrow_constructible< R, RRef >::value && std::is_nothrow_constructible< D, DRef >::value) |
|
| unique_resource (unique_resource &&that) noexcept(std::is_nothrow_move_constructible< R >::value && std::is_nothrow_move_constructible< D >::value) |
|
| unique_resource (unique_resource const &)=delete |
|