Contents Functions Classes Topics User Forum CVS

G3D::WeakReferenceCountedPointer< T > Class Template Reference

#include <ReferenceCount.h>

Inherits G3D::_WeakPtr.

List of all members.

Public Member Functions

ReferenceCountedPointer< T > createStrongPtr () const
 WeakReferenceCountedPointer ()
template<class S>
 WeakReferenceCountedPointer (const WeakReferenceCountedPointer< S > &p)
template<class S>
 WeakReferenceCountedPointer (const ReferenceCountedPointer< S > &p)
 WeakReferenceCountedPointer (const WeakReferenceCountedPointer< T > &weakPtr)
 WeakReferenceCountedPointer (const ReferenceCountedPointer< T > &strongPtr)
 ~WeakReferenceCountedPointer ()
WeakReferenceCountedPointer<
T > & 
operator= (const WeakReferenceCountedPointer< T > &other)
WeakReferenceCountedPointer<
T > & 
operator= (const ReferenceCountedPointer< T > &other)
bool operator== (const WeakReferenceCountedPointer< T > &other) const
bool operator!= (const WeakReferenceCountedPointer< T > &other) const
bool operator< (const WeakReferenceCountedPointer< T > &y) const
bool operator> (const WeakReferenceCountedPointer< T > &y) const
bool operator<= (const WeakReferenceCountedPointer< T > &y) const
bool operator>= (const ReferenceCountedPointer< T > &y) const

Protected Member Functions

virtual void objectCollected ()

Friends

class ReferenceCountedObject


Detailed Description

template<class T>
class G3D::WeakReferenceCountedPointer< T >

A weak pointer allows the object it references to be garbage collected. Weak pointers are commonly used in caches, where it is important to hold a pointer to an object without keeping that object alive solely for the cache's benefit (i.e., the object can be collected as soon as all pointers to it outside the cache are gone). They are also convenient for adding back-pointers in tree and list structures.

Weak pointers may become NULL at any point (when their target is collected). Therefore the only way to reference the target is to convert to a strong pointer and then check that it is not NULL.

Deprecated:
To be replaced by boost::weak_ptr in 7.0


Constructor & Destructor Documentation

template<class T>
G3D::WeakReferenceCountedPointer< T >::WeakReferenceCountedPointer  )  [inline]
 

template<class T>
template<class S>
G3D::WeakReferenceCountedPointer< T >::WeakReferenceCountedPointer const WeakReferenceCountedPointer< S > &  p  )  [inline]
 

Allow compile time subtyping rule RCP<T> <: RCP<S> if T <: S

template<class T>
template<class S>
G3D::WeakReferenceCountedPointer< T >::WeakReferenceCountedPointer const ReferenceCountedPointer< S > &  p  )  [inline]
 

template<class T>
G3D::WeakReferenceCountedPointer< T >::WeakReferenceCountedPointer const WeakReferenceCountedPointer< T > &  weakPtr  )  [inline]
 

template<class T>
G3D::WeakReferenceCountedPointer< T >::WeakReferenceCountedPointer const ReferenceCountedPointer< T > &  strongPtr  )  [inline]
 

template<class T>
G3D::WeakReferenceCountedPointer< T >::~WeakReferenceCountedPointer  )  [inline]
 


Member Function Documentation

template<class T>
ReferenceCountedPointer<T> G3D::WeakReferenceCountedPointer< T >::createStrongPtr  )  const [inline]
 

Creates a strong pointer, which prevents the object from being garbage collected. The strong pointer may be NULL, which means that the underlying.

template<class T>
virtual void G3D::WeakReferenceCountedPointer< T >::objectCollected  )  [inline, protected, virtual]
 

Invoked by the destructor on ReferenceCountedPointer.

Implements G3D::_WeakPtr.

template<class T>
bool G3D::WeakReferenceCountedPointer< T >::operator!= const WeakReferenceCountedPointer< T > &  other  )  const [inline]
 

template<class T>
bool G3D::WeakReferenceCountedPointer< T >::operator< const WeakReferenceCountedPointer< T > &  y  )  const [inline]
 

template<class T>
bool G3D::WeakReferenceCountedPointer< T >::operator<= const WeakReferenceCountedPointer< T > &  y  )  const [inline]
 

template<class T>
WeakReferenceCountedPointer<T>& G3D::WeakReferenceCountedPointer< T >::operator= const ReferenceCountedPointer< T > &  other  )  [inline]
 

template<class T>
WeakReferenceCountedPointer<T>& G3D::WeakReferenceCountedPointer< T >::operator= const WeakReferenceCountedPointer< T > &  other  )  [inline]
 

template<class T>
bool G3D::WeakReferenceCountedPointer< T >::operator== const WeakReferenceCountedPointer< T > &  other  )  const [inline]
 

template<class T>
bool G3D::WeakReferenceCountedPointer< T >::operator> const WeakReferenceCountedPointer< T > &  y  )  const [inline]
 

template<class T>
bool G3D::WeakReferenceCountedPointer< T >::operator>= const ReferenceCountedPointer< T > &  y  )  const [inline]
 


Friends And Related Function Documentation

friend class ReferenceCountedObject [friend, inherited]
 


The documentation for this class was generated from the following file:
Generated on Mon Jul 17 11:50:47 2006 for G3D by doxygen 1.4.5
Hosted by SourceForge.net Logo