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
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 72 of file IntrusiveReference.hpp.


Member Typedef Documentation

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

Definition at line 77 of file IntrusiveReference.hpp.

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

Definition at line 125 of file IntrusiveReference.hpp.

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

Definition at line 75 of file IntrusiveReference.hpp.


Constructor & Destructor Documentation

template<class T>
BLOCXX_NAMESPACE::IntrusiveReference< T >::IntrusiveReference  )  [inline]
 

Definition at line 79 of file IntrusiveReference.hpp.

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

Definition at line 82 of file IntrusiveReference.hpp.

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

Definition at line 86 of file IntrusiveReference.hpp.

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

Definition at line 90 of file IntrusiveReference.hpp.

template<class T>
BLOCXX_NAMESPACE::IntrusiveReference< T >::~IntrusiveReference  )  [inline]
 

Definition at line 94 of file IntrusiveReference.hpp.


Member Function Documentation

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

Definition at line 143 of file IntrusiveReference.hpp.

Referenced by BLOCXX_NAMESPACE::SocketUtils::waitForIO().

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

Definition at line 113 of file IntrusiveReference.hpp.

Referenced by BLOCXX_NAMESPACE::const_pointer_cast(), BLOCXX_NAMESPACE::dynamic_pointer_cast(), BLOCXX_NAMESPACE::operator!=(), BLOCXX_NAMESPACE::operator==(), and BLOCXX_NAMESPACE::static_pointer_cast().

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

Definition at line 117 of file IntrusiveReference.hpp.

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

Definition at line 126 of file IntrusiveReference.hpp.

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

Definition at line 130 of file IntrusiveReference.hpp.

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

Definition at line 121 of file IntrusiveReference.hpp.

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

Definition at line 108 of file IntrusiveReference.hpp.

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

Definition at line 103 of file IntrusiveReference.hpp.

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

Definition at line 98 of file IntrusiveReference.hpp.

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

Definition at line 135 of file IntrusiveReference.hpp.

Referenced by BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::operator=(), and BLOCXX_NAMESPACE::swap().


Member Data Documentation

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

Definition at line 149 of file IntrusiveReference.hpp.

Referenced by BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::cast_to(), BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::getPtr(), BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::IntrusiveReference(), BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::operator *(), BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::operator safe_bool(), BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::operator!(), BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::operator->(), BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::swap(), and BLOCXX_NAMESPACE::IntrusiveReference< ThreadBarrierImpl >::~IntrusiveReference().


The documentation for this class was generated from the following file:
Generated on Fri Jun 16 15:39:11 2006 for blocxx by  doxygen 1.4.6