BLOCXX_NAMESPACE::Reference< T > Class Template Reference

#include <Reference.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::Reference< T >:

BLOCXX_NAMESPACE::ReferenceBase

List of all members.

Public Types

typedef T element_type
typedef T *volatile Reference::* safe_bool

Public Member Functions

 Reference ()
 Reference (T *ptr)
 Reference (const Reference< T > &arg)
template<class U>
 Reference (const Reference< U > &arg)
 ~Reference ()
Reference< T > & operator= (const Reference< T > &arg)
Reference< T > & operator= (T *newObj)
void swap (Reference< T > &arg)
T * operator-> () const
T & operator* () const
T * getPtr () const
bool isNull () const
 operator safe_bool () const
bool operator! () const
template<class U>
Reference< U > cast_to () const
template<class U>
void useRefCountOf (const Reference< U > &)

Private Member Functions

void decRef ()

Private Attributes

T *volatile m_pObj

Friends

class Reference


Detailed Description

template<class T>
class BLOCXX_NAMESPACE::Reference< T >

Definition at line 51 of file Reference.hpp.


Member Typedef Documentation

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

Definition at line 59 of file Reference.hpp.

template<class T>
typedef T* volatile Reference::* BLOCXX_NAMESPACE::Reference< T >::safe_bool

Definition at line 78 of file Reference.hpp.


Constructor & Destructor Documentation

template<class T>
BLOCXX_NAMESPACE::Reference< T >::Reference (  ) 

template<class T>
BLOCXX_NAMESPACE::Reference< T >::Reference ( T *  ptr  )  [inline, explicit]

Definition at line 100 of file Reference.hpp.

template<class T>
BLOCXX_NAMESPACE::Reference< T >::Reference ( const Reference< T > &  arg  )  [inline]

Definition at line 106 of file Reference.hpp.

template<class T>
template<class U>
BLOCXX_NAMESPACE::Reference< T >::Reference ( const Reference< U > &  arg  )  [inline]

Definition at line 113 of file Reference.hpp.

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

Definition at line 120 of file Reference.hpp.

References BLOCXX_NAMESPACE::Reference< T >::decRef().


Member Function Documentation

template<class T>
Reference< T > & BLOCXX_NAMESPACE::Reference< T >::operator= ( const Reference< T > &  arg  )  [inline]

Definition at line 138 of file Reference.hpp.

References BLOCXX_NAMESPACE::Reference< T >::swap().

template<class T>
Reference< T > & BLOCXX_NAMESPACE::Reference< T >::operator= ( T *  newObj  )  [inline]

Definition at line 145 of file Reference.hpp.

References BLOCXX_NAMESPACE::Reference< T >::swap().

template<class T>
void BLOCXX_NAMESPACE::Reference< T >::swap ( Reference< T > &  arg  )  [inline]

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

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

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

template<class T>
bool BLOCXX_NAMESPACE::Reference< T >::isNull (  )  const [inline]

Definition at line 187 of file Reference.hpp.

References BLOCXX_NAMESPACE::Reference< T >::m_pObj.

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

Definition at line 78 of file Reference.hpp.

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

Definition at line 78 of file Reference.hpp.

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

template<class T>
template<class U>
void BLOCXX_NAMESPACE::Reference< T >::useRefCountOf ( const Reference< U > &  arg  )  [inline]

template<class T>
void BLOCXX_NAMESPACE::Reference< T >::decRef (  )  [inline, private]


Friends And Related Function Documentation

template<class T>
BLOCXX_NAMESPACE::Reference< T >::Reference [friend]

Definition at line 86 of file Reference.hpp.


Member Data Documentation

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


The documentation for this class was generated from the following file:

Generated on Wed Feb 25 19:05:09 2009 for blocxx by  doxygen 1.5.6