WeakRefPtr< T > Class Template Reference

#include <refBase.h>

Inheritance diagram for WeakRefPtr< T >:

Inheritance graph
[legend]
List of all members.

Detailed Description


template<class T> class WeakRefPtr< T >

Weak reference pointer class.

Instances of this template class can be used as pointers to instances of WeakRefBase and its subclasses. When the object referenced by a WeakRefPtr instance is deleted, the pointer to the object is set to NULL in the WeakRefPtr instance.


Public Member Functions

 WeakRefPtr ()
 WeakRefPtr (T *ptr)
 WeakRefPtr (const WeakRefPtr< T > &ref)
 ~WeakRefPtr ()
WeakRefPtr< T > & operator= (const WeakRefPtr< T > &ref)
WeakRefPtr< T > & operator= (T *ptr)
bool isNull () const
T * operator-> () const
T & operator * () const
 operator T * () const
T * getPointer () const

Protected Member Functions

void set (WeakRefBase::WeakReference *ref)
void set (T *obj)

Private Attributes

WeakRefBase::WeakReferencemReference


Constructor & Destructor Documentation

template<class T>
WeakRefPtr< T >::WeakRefPtr (  )  [inline]

template<class T>
WeakRefPtr< T >::WeakRefPtr ( T *  ptr  )  [inline]

template<class T>
WeakRefPtr< T >::WeakRefPtr ( const WeakRefPtr< T > &  ref  )  [inline]

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


Member Function Documentation

template<class T>
WeakRefPtr<T>& WeakRefPtr< T >::operator= ( const WeakRefPtr< T > &  ref  )  [inline]

template<class T>
WeakRefPtr<T>& WeakRefPtr< T >::operator= ( T *  ptr  )  [inline]

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

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

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

template<class T>
WeakRefPtr< T >::operator T * (  )  const [inline]

template<class T>
T* WeakRefPtr< T >::getPointer (  )  const [inline]

template<class T>
void WeakRefPtr< T >::set ( WeakRefBase::WeakReference ref  )  [inline, protected]

template<class T>
void WeakRefPtr< T >::set ( T *  obj  )  [inline, protected]


Member Data Documentation

template<class T>
WeakRefBase::WeakReference* WeakRefPtr< T >::mReference [private]