WARPXM v1.10.0
Loading...
Searching...
No Matches
wxm::raii_base< T, PTR_TYPE, CPTR_TYPE > Class Template Referenceabstract

#include <raii.h>

Public Member Functions

 raii_base () noexcept=default
 
 raii_base (raii_base &&o) noexcept
 
void swap (raii_base &o) noexcept
 
 raii_base (PTR_TYPE d) noexcept
 
PTR_TYPE release ()
 
PTR_TYPE & reset (PTR_TYPE p=PTR_TYPE())
 
 operator PTR_TYPE () noexcept
 
 operator CPTR_TYPE () const noexcept
 
T & operator* ()
 
const T & operator* () const
 
PTR_TYPE get () noexcept
 
CPTR_TYPE get () const noexcept
 

Protected Member Functions

virtual void dec (PTR_TYPE d)=0
 
virtual void inc (PTR_TYPE d)=0
 
raii_baseoperator= (PTR_TYPE d)
 
 ~raii_base ()=default
 Child classes need to add reset();.
 

Constructor & Destructor Documentation

◆ ~raii_base()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::~raii_base ( )
protecteddefault

Child classes need to add reset();.

◆ raii_base() [1/3]

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::raii_base ( )
defaultnoexcept

◆ raii_base() [2/3]

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::raii_base ( raii_base< T, PTR_TYPE, CPTR_TYPE > &&  o)
inlinenoexcept

◆ raii_base() [3/3]

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::raii_base ( PTR_TYPE  d)
inlinenoexcept

Member Function Documentation

◆ dec()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
virtual void wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::dec ( PTR_TYPE  d)
protectedpure virtual

◆ get() [1/2]

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
CPTR_TYPE wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::get ( ) const
inlinenoexcept

◆ get() [2/2]

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
PTR_TYPE wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::get ( )
inlinenoexcept

◆ inc()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
virtual void wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::inc ( PTR_TYPE  d)
protectedpure virtual

◆ operator CPTR_TYPE()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::operator CPTR_TYPE ( ) const
inlinenoexcept

◆ operator PTR_TYPE()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::operator PTR_TYPE ( )
inlinenoexcept

◆ operator*() [1/2]

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
T & wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::operator* ( )
inline

◆ operator*() [2/2]

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
const T & wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::operator* ( ) const
inline

◆ operator=()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
raii_base & wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::operator= ( PTR_TYPE  d)
inlineprotected

◆ release()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
PTR_TYPE wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::release ( )
inline

◆ reset()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
PTR_TYPE & wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::reset ( PTR_TYPE  p = PTR_TYPE())
inline

◆ swap()

template<class T , class PTR_TYPE = T*, class CPTR_TYPE = const T*>
void wxm::raii_base< T, PTR_TYPE, CPTR_TYPE >::swap ( raii_base< T, PTR_TYPE, CPTR_TYPE > &  o)
inlinenoexcept

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