libsshpp v0.1.7
Modern C++17 wrapper for libssh
Loading...
Searching...
No Matches
sshpp::detail::UniqueHandle< Handle, Deleter > Class Template Reference

Zero-overhead move-only owner for a libssh C handle. See docs/design/02 §2.2. More...

#include <unique_handle.hpp>

Public Member Functions

 UniqueHandle ()=default
 
 UniqueHandle (Handle h) noexcept
 
 UniqueHandle (UniqueHandle &&o) noexcept
 
UniqueHandleoperator= (UniqueHandle &&o) noexcept
 
 UniqueHandle (const UniqueHandle &)=delete
 
UniqueHandleoperator= (const UniqueHandle &)=delete
 
 ~UniqueHandle ()
 
Handle get () const noexcept
 
 operator bool () const noexcept
 
Handle release () noexcept
 
void reset (Handle h=Handle{}) noexcept
 

Detailed Description

template<class Handle, class Deleter>
class sshpp::detail::UniqueHandle< Handle, Deleter >

Zero-overhead move-only owner for a libssh C handle. See docs/design/02 §2.2.

Constructor & Destructor Documentation

◆ UniqueHandle() [1/4]

template<class Handle , class Deleter >
sshpp::detail::UniqueHandle< Handle, Deleter >::UniqueHandle ( )
default

◆ UniqueHandle() [2/4]

template<class Handle , class Deleter >
sshpp::detail::UniqueHandle< Handle, Deleter >::UniqueHandle ( Handle  h)
inlineexplicitnoexcept

◆ UniqueHandle() [3/4]

template<class Handle , class Deleter >
sshpp::detail::UniqueHandle< Handle, Deleter >::UniqueHandle ( UniqueHandle< Handle, Deleter > &&  o)
inlinenoexcept

◆ UniqueHandle() [4/4]

template<class Handle , class Deleter >
sshpp::detail::UniqueHandle< Handle, Deleter >::UniqueHandle ( const UniqueHandle< Handle, Deleter > &  )
delete

◆ ~UniqueHandle()

template<class Handle , class Deleter >
sshpp::detail::UniqueHandle< Handle, Deleter >::~UniqueHandle ( )
inline

Member Function Documentation

◆ operator=() [1/2]

template<class Handle , class Deleter >
UniqueHandle & sshpp::detail::UniqueHandle< Handle, Deleter >::operator= ( UniqueHandle< Handle, Deleter > &&  o)
inlinenoexcept

◆ operator=() [2/2]

template<class Handle , class Deleter >
UniqueHandle & sshpp::detail::UniqueHandle< Handle, Deleter >::operator= ( const UniqueHandle< Handle, Deleter > &  )
delete

◆ get()

template<class Handle , class Deleter >
Handle sshpp::detail::UniqueHandle< Handle, Deleter >::get ( ) const
inlinenoexcept

◆ operator bool()

template<class Handle , class Deleter >
sshpp::detail::UniqueHandle< Handle, Deleter >::operator bool ( ) const
inlineexplicitnoexcept

◆ release()

template<class Handle , class Deleter >
Handle sshpp::detail::UniqueHandle< Handle, Deleter >::release ( )
inlinenoexcept

◆ reset()

template<class Handle , class Deleter >
void sshpp::detail::UniqueHandle< Handle, Deleter >::reset ( Handle  h = Handle{})
inlinenoexcept

The documentation for this class was generated from the following file: