blocxx
Public Types | Public Member Functions | Private Types | Private Attributes

BLOCXX_NAMESPACE::IntrusiveReference< T > Class Template Reference

#include <IntrusiveReference.hpp>

List of all members.

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: