RADLib
RADical C++ application framework
rad::UniqueHandle< Handle, CloseFn > Class Template Reference

#include <rad_cpp.h>

Public Member Functions

constexpr UniqueHandle ()=default
 
constexpr UniqueHandle (Handle handle)
 
 ~UniqueHandle ()
 
 UniqueHandle (const UniqueHandle &)=delete
 
UniqueHandleoperator= (const UniqueHandle &)=delete
 
 UniqueHandle (UniqueHandle &&other) noexcept
 
UniqueHandleoperator= (UniqueHandle &&other) noexcept
 
constexpr Handle get () const
 
constexpr operator bool () const
 
Handle release ()
 
void reset (Handle handle=nullptr)
 

Constructor & Destructor Documentation

◆ UniqueHandle() [1/4]

template<typename Handle , void(*)(Handle) CloseFn>
constexpr rad::UniqueHandle< Handle, CloseFn >::UniqueHandle ( )
constexprdefault

◆ UniqueHandle() [2/4]

template<typename Handle , void(*)(Handle) CloseFn>
constexpr rad::UniqueHandle< Handle, CloseFn >::UniqueHandle ( Handle  handle)
inlineexplicitconstexpr

◆ ~UniqueHandle()

template<typename Handle , void(*)(Handle) CloseFn>
rad::UniqueHandle< Handle, CloseFn >::~UniqueHandle ( )
inline

◆ UniqueHandle() [3/4]

template<typename Handle , void(*)(Handle) CloseFn>
rad::UniqueHandle< Handle, CloseFn >::UniqueHandle ( const UniqueHandle< Handle, CloseFn > &  )
delete

◆ UniqueHandle() [4/4]

template<typename Handle , void(*)(Handle) CloseFn>
rad::UniqueHandle< Handle, CloseFn >::UniqueHandle ( UniqueHandle< Handle, CloseFn > &&  other)
inlinenoexcept

Member Function Documentation

◆ get()

template<typename Handle , void(*)(Handle) CloseFn>
constexpr Handle rad::UniqueHandle< Handle, CloseFn >::get ( ) const
inlineconstexpr

◆ operator bool()

template<typename Handle , void(*)(Handle) CloseFn>
constexpr rad::UniqueHandle< Handle, CloseFn >::operator bool ( ) const
inlineexplicitconstexpr

◆ operator=() [1/2]

template<typename Handle , void(*)(Handle) CloseFn>
UniqueHandle& rad::UniqueHandle< Handle, CloseFn >::operator= ( const UniqueHandle< Handle, CloseFn > &  )
delete

◆ operator=() [2/2]

template<typename Handle , void(*)(Handle) CloseFn>
UniqueHandle& rad::UniqueHandle< Handle, CloseFn >::operator= ( UniqueHandle< Handle, CloseFn > &&  other)
inlinenoexcept

◆ release()

template<typename Handle , void(*)(Handle) CloseFn>
Handle rad::UniqueHandle< Handle, CloseFn >::release ( )
inline

◆ reset()

template<typename Handle , void(*)(Handle) CloseFn>
void rad::UniqueHandle< Handle, CloseFn >::reset ( Handle  handle = nullptr)
inline

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