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

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

Definition at line 80 of file IntrusiveReference.hpp.

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

Definition at line 137 of file IntrusiveReference.hpp.

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

Definition at line 78 of file IntrusiveReference.hpp.

Constructor & Destructor Documentation

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

Definition at line 82 of file IntrusiveReference.hpp.

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

Definition at line 85 of file IntrusiveReference.hpp.

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

Definition at line 89 of file IntrusiveReference.hpp.

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

Definition at line 93 of file IntrusiveReference.hpp.

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

Definition at line 97 of file IntrusiveReference.hpp.

Member Function Documentation

template<class T>
template<class U >
IntrusiveReference<U> BLOCXX_NAMESPACE::IntrusiveReference< T >::cast_to ( ) const
inline
template<class T>
T* BLOCXX_NAMESPACE::IntrusiveReference< T >::getPtr ( ) const
inline
template<class T>
BLOCXX_DEPRECATED bool BLOCXX_NAMESPACE::IntrusiveReference< T >::isNull ( ) const
inline

Definition at line 139 of file IntrusiveReference.hpp.

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

Definition at line 137 of file IntrusiveReference.hpp.

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

Definition at line 137 of file IntrusiveReference.hpp.

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

Definition at line 120 of file IntrusiveReference.hpp.

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

Definition at line 128 of file IntrusiveReference.hpp.

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

Definition at line 101 of file IntrusiveReference.hpp.

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

Definition at line 106 of file IntrusiveReference.hpp.

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

Definition at line 111 of file IntrusiveReference.hpp.

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

Member Data Documentation

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

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