StrongRefPtr< T > Class Template Reference

#include <refBase.h>

Inheritance diagram for StrongRefPtr< T >:

Inheritance graph
[legend]
List of all members.

Detailed Description


template<class T> class StrongRefPtr< T >

Reference counted object template pointer class Instances of this template class can be used as pointers to instances of StrongRefBase and its subclasses.

The object will not be deleted until all of the StrongRefPtr instances pointing to it have been destructed.


Public Member Functions

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


Constructor & Destructor Documentation

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

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

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

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


Member Function Documentation

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

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

template<class T>
bool StrongRefPtr< T >::isValid (  )  const [inline]

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

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

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

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