Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

fl::SmartPointer< T > Class Template Reference

#include <pointer.h>

List of all members.

Public Methods

 SmartPointer ()
 SmartPointer (const SmartPointer &that)
 ~SmartPointer ()
void initialize ()
SmartPointer & operator= (const SmartPointer &that)
void copyFrom (const SmartPointer &that)
int refcount () const
T * operator-> () const
T & operator * () const
void detach ()

Public Attributes

SmartBlockmemory

Protected Methods

void attach (SmartBlock *that)


Detailed Description

template<class T>
class fl::SmartPointer< T >

SmartPointer is like Pointer, except that it works with a known structure, and therefore a fixed amount of memory. In order to use this template, the wrapped class must have a default constructor (ie: one that takes no arguments).


Constructor & Destructor Documentation

template<class T>
fl::SmartPointer< T >::SmartPointer   [inline]
 

template<class T>
fl::SmartPointer< T >::SmartPointer const SmartPointer< T > &    that [inline]
 

template<class T>
fl::SmartPointer< T >::~SmartPointer   [inline]
 


Member Function Documentation

template<class T>
void fl::SmartPointer< T >::attach SmartBlock   that [inline, protected]
 

attach assumes that memory == 0, so we must protect it.

template<class T>
void fl::SmartPointer< T >::copyFrom const SmartPointer< T > &    that [inline]
 

template<class T>
void fl::SmartPointer< T >::detach   [inline]
 

template<class T>
void fl::SmartPointer< T >::initialize   [inline]
 

template<class T>
T& fl::SmartPointer< T >::operator *   const [inline]
 

template<class T>
T* fl::SmartPointer< T >::operator->   const [inline]
 

template<class T>
SmartPointer& fl::SmartPointer< T >::operator= const SmartPointer< T > &    that [inline]
 

template<class T>
int fl::SmartPointer< T >::refcount   const [inline]
 


Member Data Documentation

template<class T>
SmartBlock* fl::SmartPointer< T >::memory
 


The documentation for this class was generated from the following file:
Generated on Thu Dec 9 17:13:27 2004 for fl by doxygen1.2.18