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 IntrusiveReference BLOCXX_NAMESPACE::IntrusiveReference< T >::this_type [private]

Definition at line 75 of file IntrusiveReference.hpp.

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.


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& BLOCXX_NAMESPACE::IntrusiveReference< T >::operator= ( IntrusiveReference< U > const &  rhs  )  [inline]

Definition at line 98 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>
IntrusiveReference& BLOCXX_NAMESPACE::IntrusiveReference< T >::operator= ( T *  rhs  )  [inline]

Definition at line 108 of file IntrusiveReference.hpp.

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>
T* BLOCXX_NAMESPACE::IntrusiveReference< T >::operator-> (  )  const [inline]

Definition at line 121 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>
void BLOCXX_NAMESPACE::IntrusiveReference< T >::swap ( IntrusiveReference< T > &  rhs  )  [inline]

Definition at line 135 of file IntrusiveReference.hpp.

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

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::SocketBaseImpl::connect(), BLOCXX_NAMESPACE::Exec::safePopen(), and BLOCXX_NAMESPACE::SocketUtils::waitForIO().


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< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::cast_to(), BLOCXX_NAMESPACE::IntrusiveReference< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::getPtr(), BLOCXX_NAMESPACE::IntrusiveReference< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::IntrusiveReference(), BLOCXX_NAMESPACE::IntrusiveReference< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::operator *(), BLOCXX_NAMESPACE::IntrusiveReference< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::operator safe_bool(), BLOCXX_NAMESPACE::IntrusiveReference< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::operator!(), BLOCXX_NAMESPACE::IntrusiveReference< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::operator->(), BLOCXX_NAMESPACE::IntrusiveReference< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::swap(), and BLOCXX_NAMESPACE::IntrusiveReference< BLOCXX_NAMESPACE::TempFileEnumerationImpl< T > >::~IntrusiveReference().


The documentation for this class was generated from the following file:
Generated on Fri Sep 21 23:42:37 2007 for blocxx by  doxygen 1.5.3