|
||||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
Template class used to keep track of objects allocated on the heap. Frees the wrapped object when handle goes out of scope. This class can't create objects allocated on the heap.
| Field Summary | |
protected CzzUseCounter* |
m_Counter
Usage counter |
protected T* |
m_Object
Wrapped object |
protected bool |
m_Vector
Array? |
| Constructor Summary | |
CzzHandle( void )
Create a empty handle |
|
CzzHandle( const CzzHandle& handle )
Copy constructor |
|
CzzHandle( T* handle )
Copy constructor |
|
CzzHandle( T* obj, bool vector )
Create a handle to a object allocated on the heap. |
|
virtual ~CzzHandle()
|
|
| Method Summary | |
T* |
object( void )
Object |
T* |
operator->()
Object |
const CzzHandle& |
operator=( const CzzHandle& handle )
Assignment |
T& |
ref( void )
Reference |
operator |
T*( void )
Object |
T |
value( void )
Value of object pointer |
| Field Detail |
protected CzzUseCounter* m_Counter;
protected T* m_Object;
protected bool m_Vector;
| Constructor Detail |
public CzzHandle( void );
public CzzHandle( const CzzHandle& handle );
public CzzHandle( T* handle );
public CzzHandle( T* obj, bool vector );
CzzHandle handle( new CxxObject[ 10 ], true );
CzzHandle foo = new CxxFoo( 1, "kalle" );
CzzHandle tmp;
tmp = handle;
tmp->callMethod( foo );
doSomething( tmp );
// No need to free objects, they are freed when the
// handle goes out of scope
obj - Object
vector - Arraypublic virtual ~CzzHandle();
| Method Detail |
public T* object( void );
public T* operator->();
public const CzzHandle& operator=( const CzzHandle& handle );
public T& ref( void );
public operator T*( void );
public T value( void );
|
||||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||