9template <
class Handle,
class Deleter>
19 h_ = std::exchange(o.h_, Handle{});
29 Handle
get() const noexcept {
return h_; }
30 explicit operator bool() const noexcept {
return h_ != Handle{}; }
32 [[nodiscard]] Handle
release() noexcept {
return std::exchange(h_, Handle{}); }
34 void reset(Handle h = Handle{})
noexcept {
Zero-overhead move-only owner for a libssh C handle. See docs/design/02 ยง2.2.
Definition unique_handle.hpp:10
Handle get() const noexcept
Definition unique_handle.hpp:29
UniqueHandle & operator=(UniqueHandle &&o) noexcept
Definition unique_handle.hpp:16
void reset(Handle h=Handle{}) noexcept
Definition unique_handle.hpp:34
Handle release() noexcept
Definition unique_handle.hpp:32
UniqueHandle(Handle h) noexcept
Definition unique_handle.hpp:13
UniqueHandle(UniqueHandle &&o) noexcept
Definition unique_handle.hpp:15
UniqueHandle(const UniqueHandle &)=delete
~UniqueHandle()
Definition unique_handle.hpp:27
UniqueHandle & operator=(const UniqueHandle &)=delete
Definition handler_bridge.hpp:10