cafe::Ptr< T > Class Template Reference
[CAF Environment (Cafe)]

#include <Ptr.hpp>

List of all members.


Detailed Description

template<class T>
class cafe::Ptr< T >

template smart pointer for intrusive reference counted objects using TRefCount.

Definition at line 12 of file Ptr.hpp.

Public Member Functions

 Ptr (T *p)
template<class Y>  Ptr (Y *p)
 ~Ptr ()
 Ptr (const Ptr< T > &other)
template<class Y>  Ptr (const Ptr< Y > &other)
Ptr< T > & operator= (const Ptr< T > &other)
template<class Y> Ptr< T > & operator= (const Ptr< Y > &other)
template<class Y> void reset (Y *p)
T * operator-> ()
T & operator * ()
const T & operator * () const
T * get ()

Private Member Functions

void decrement ()

Private Attributes

T * fRef


Constructor & Destructor Documentation

template<class T>
cafe::Ptr< T >::Ptr T *  p  )  [inline]
 

Definition at line 14 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.

template<class T>
template<class Y>
cafe::Ptr< T >::Ptr Y *  p  )  [inline]
 

Definition at line 21 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.

template<class T>
cafe::Ptr< T >::~Ptr  )  [inline]
 

Definition at line 27 of file Ptr.hpp.

References cafe::Ptr< T >::decrement().

template<class T>
cafe::Ptr< T >::Ptr const Ptr< T > &  other  )  [inline]
 

Definition at line 32 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.

template<class T>
template<class Y>
cafe::Ptr< T >::Ptr const Ptr< Y > &  other  )  [inline]
 

Definition at line 40 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.


Member Function Documentation

template<class T>
void cafe::Ptr< T >::decrement  )  [inline, private]
 

Definition at line 83 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.

Referenced by cafe::Ptr< T >::operator=(), cafe::Ptr< T >::reset(), and cafe::Ptr< T >::~Ptr().

template<class T>
T* cafe::Ptr< T >::get  )  [inline]
 

Definition at line 81 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.

template<class T>
const T& cafe::Ptr< T >::operator *  )  const [inline]
 

Definition at line 80 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.

template<class T>
T& cafe::Ptr< T >::operator *  )  [inline]
 

Definition at line 79 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.

template<class T>
T* cafe::Ptr< T >::operator->  )  [inline]
 

Definition at line 78 of file Ptr.hpp.

References cafe::Ptr< T >::fRef.

template<class T>
template<class Y>
Ptr<T>& cafe::Ptr< T >::operator= const Ptr< Y > &  other  )  [inline]
 

Definition at line 59 of file Ptr.hpp.

References cafe::Ptr< T >::decrement(), and cafe::Ptr< T >::fRef.

template<class T>
Ptr<T>& cafe::Ptr< T >::operator= const Ptr< T > &  other  )  [inline]
 

Definition at line 47 of file Ptr.hpp.

References cafe::Ptr< T >::decrement(), and cafe::Ptr< T >::fRef.

template<class T>
template<class Y>
void cafe::Ptr< T >::reset Y *  p  )  [inline]
 

Definition at line 71 of file Ptr.hpp.

References cafe::Ptr< T >::decrement(), and cafe::Ptr< T >::fRef.


Member Data Documentation

template<class T>
T* cafe::Ptr< T >::fRef [private]
 

Definition at line 89 of file Ptr.hpp.

Referenced by cafe::Ptr< T >::decrement(), cafe::Ptr< T >::get(), cafe::Ptr< T >::operator *(), cafe::Ptr< T >::operator->(), cafe::Ptr< T >::operator=(), cafe::Ptr< T >::Ptr(), and cafe::Ptr< T >::reset().


The documentation for this class was generated from the following file:
Generated on Thu Apr 3 04:14:27 2008 for CAF by doxygen 1.3.4