Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

BLOCXX_NAMESPACE::IntrusiveReference< T > Class Template Reference

#include <IntrusiveReference.hpp>

Collaboration diagram for BLOCXX_NAMESPACE::IntrusiveReference< T >:

Collaboration graph
[legend]
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 70 of file IntrusiveReference.hpp.


Member Typedef Documentation

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

Definition at line 75 of file IntrusiveReference.hpp.

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

Definition at line 123 of file IntrusiveReference.hpp.

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

Definition at line 73 of file IntrusiveReference.hpp.


Constructor & Destructor Documentation

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

Definition at line 77 of file IntrusiveReference.hpp.

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

Definition at line 80 of file IntrusiveReference.hpp.

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

Definition at line 84 of file IntrusiveReference.hpp.

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

Definition at line 88 of file IntrusiveReference.hpp.

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

Definition at line 92 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 141 of file IntrusiveReference.hpp.

Referenced by BLOCXX_NAMESPACE::SocketBaseImpl::connect(), BLOCXX_NAMESPACE::Exec::safePopen(), and BLOCXX_NAMESPACE::SocketUtils::waitForIO().

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

Definition at line 111 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 115 of file IntrusiveReference.hpp.

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

Definition at line 124 of file IntrusiveReference.hpp.

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

Definition at line 128 of file IntrusiveReference.hpp.

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

Definition at line 119 of file IntrusiveReference.hpp.

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

Definition at line 106 of file IntrusiveReference.hpp.

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

Definition at line 101 of file IntrusiveReference.hpp.

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

Definition at line 96 of file IntrusiveReference.hpp.

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

Definition at line 133 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 147 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 Tue Sep 13 00:05:34 2005 for blocxx by  doxygen 1.4.4