blocxx
BLOCXX_NAMESPACE::IntrusiveReference< T > Class Template Reference

#include <IntrusiveReference.hpp>

Public Types

typedef T element_type
 
typedef T *this_type::* safe_bool
 

Public Member Functions

 IntrusiveReference ()
 
 IntrusiveReference (T *p, bool add_ref=true)
 
template<class U >
 IntrusiveReference (IntrusiveReference< U > const &rhs)
 
 IntrusiveReference (IntrusiveReference const &rhs)
 
 ~IntrusiveReference ()
 
template<class U >
IntrusiveReferenceoperator= (IntrusiveReference< U > const &rhs)
 
IntrusiveReferenceoperator= (IntrusiveReference const &rhs)
 
IntrusiveReferenceoperator= (T *rhs)
 
T * getPtr () const
 
T & operator* () const
 
T * operator-> () const
 
 operator safe_bool () const
 
bool operator! () const
 
BLOCXX_DEPRECATED bool isNull () const
 
void swap (IntrusiveReference &rhs)
 
template<class U >
IntrusiveReference< U > cast_to () const
 

Private Types

typedef IntrusiveReference this_type
 

Private Attributes

T * m_pObj
 

Detailed Description

template<class T>
class BLOCXX_NAMESPACE::IntrusiveReference< T >

Definition at line 75 of file IntrusiveReference.hpp.

Member Typedef Documentation

◆ element_type

template<class T >
T BLOCXX_NAMESPACE::IntrusiveReference< T >::element_type

Definition at line 80 of file IntrusiveReference.hpp.

◆ safe_bool

template<class T >
T* this_type::* BLOCXX_NAMESPACE::IntrusiveReference< T >::safe_bool

Definition at line 137 of file IntrusiveReference.hpp.

◆ this_type

template<class T >
IntrusiveReference BLOCXX_NAMESPACE::IntrusiveReference< T >::this_type
private

Definition at line 78 of file IntrusiveReference.hpp.

Constructor & Destructor Documentation

◆ IntrusiveReference() [1/4]

template<class T >
BLOCXX_NAMESPACE::IntrusiveReference< T >::IntrusiveReference ( )
inline

◆ IntrusiveReference() [2/4]

template<class T >
BLOCXX_NAMESPACE::IntrusiveReference< T >::IntrusiveReference ( T * p,
bool add_ref = true )
inline

◆ IntrusiveReference() [3/4]

template<class T >
template<class U >
BLOCXX_NAMESPACE::IntrusiveReference< T >::IntrusiveReference ( IntrusiveReference< U > const & rhs)
inline

◆ IntrusiveReference() [4/4]

template<class T >
BLOCXX_NAMESPACE::IntrusiveReference< T >::IntrusiveReference ( IntrusiveReference< T > const & rhs)
inline

◆ ~IntrusiveReference()

Member Function Documentation

◆ cast_to()

◆ getPtr()

◆ isNull()

template<class T >
BLOCXX_DEPRECATED bool BLOCXX_NAMESPACE::IntrusiveReference< T >::isNull ( ) const
inline

◆ operator safe_bool()

template<class T >
BLOCXX_NAMESPACE::IntrusiveReference< T >::operator safe_bool ( ) const
inline

Definition at line 137 of file IntrusiveReference.hpp.

◆ operator!()

template<class T >
bool BLOCXX_NAMESPACE::IntrusiveReference< T >::operator! ( ) const
inline

Definition at line 137 of file IntrusiveReference.hpp.

◆ operator*()

template<class T >
T & BLOCXX_NAMESPACE::IntrusiveReference< T >::operator* ( ) const
inline

◆ operator->()

template<class T >
T * BLOCXX_NAMESPACE::IntrusiveReference< T >::operator-> ( ) const
inline

◆ operator=() [1/3]

template<class T >
IntrusiveReference & BLOCXX_NAMESPACE::IntrusiveReference< T >::operator= ( IntrusiveReference< T > const & rhs)
inline

◆ operator=() [2/3]

template<class T >
template<class U >
IntrusiveReference & BLOCXX_NAMESPACE::IntrusiveReference< T >::operator= ( IntrusiveReference< U > const & rhs)
inline

◆ operator=() [3/3]

template<class T >
IntrusiveReference & BLOCXX_NAMESPACE::IntrusiveReference< T >::operator= ( T * rhs)
inline

◆ swap()

Member Data Documentation

◆ m_pObj


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