blocxx
Public Types | Public Member Functions | Private Types | Private Attributes | List of all members
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)
 
TgetPtr () const
 
Toperator* () const
 
Toperator-> () const
 
 operator safe_bool () const
 
bool operator! () const
 
BLOCXX_DEPRECATED bool isNull () const
 
void swap (IntrusiveReference &rhs)
 
template<class U >
IntrusiveReference< Ucast_to () const
 

Private Types

typedef IntrusiveReference this_type
 

Private Attributes

Tm_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 >
typedef T BLOCXX_NAMESPACE::IntrusiveReference< T >::element_type

Definition at line 80 of file IntrusiveReference.hpp.

◆ safe_bool

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

Definition at line 137 of file IntrusiveReference.hpp.

◆ this_type

Definition at line 78 of file IntrusiveReference.hpp.

Constructor & Destructor Documentation

◆ IntrusiveReference() [1/4]

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

Definition at line 82 of file IntrusiveReference.hpp.

◆ 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()

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

◆ getPtr()

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

◆ isNull()

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

◆ operator safe_bool()

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]

◆ operator=() [2/3]

◆ operator=() [3/3]

◆ swap()

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

Member Data Documentation

◆ m_pObj

template<class T >
T* BLOCXX_NAMESPACE::IntrusiveReference< T >::m_pObj
private

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