ucommon

temporary< T > Class Template Reference

Manage temporary object stored on the heap. More...

#include <generics.h>

Public Member Functions

 operator bool () const
bool operator! () const
T & operator* () const
 Access heap object through our temporary directly.
T * operator-> () const
 Access members of our heap object through our temporary.
T & operator= (T *temp)
 Assign a temporary object.
void set (T *temp)
 Assign a temporary object.
 temporary ()
 Construct a temporary object, create our stack frame reference.
 temporary (const temporary< T > &)
 Disable copy constructor.
 temporary (T *ptr)
 Construct an assigned pointer.

Protected Attributes

T * object

Detailed Description

template<typename T>
class temporary< T >

Manage temporary object stored on the heap.

This is used to create a object on the heap who's scope is controlled by the scope of a member function call. Sometimes we have data types and structures which cannot themselves appear as auto variables. We may also have a limited stack frame size in a thread context, and yet have a dynamic object that we only want to exist during the life of the method call. Using temporary allows any type to be created from the heap but have a lifespan of a method's stack frame.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 258 of file generics.h.


Member Function Documentation

template<typename T >
T& temporary< T >::operator* ( ) const [inline]

Access heap object through our temporary directly.

Returns:
reference to heap resident object.

Definition at line 310 of file generics.h.

template<typename T >
T* temporary< T >::operator-> ( ) const [inline]

Access members of our heap object through our temporary.

Returns:
member reference of heap object.

Definition at line 317 of file generics.h.

template<typename T >
T& temporary< T >::operator= ( T *  temp) [inline]

Assign a temporary object.

This adds a pointer to an existing type to the current temporary pointer. If the temporary was already assigned, then it is deleted.

Parameters:
tempobject to assign.

Definition at line 287 of file generics.h.

template<typename T >
void temporary< T >::set ( T *  temp) [inline]

Assign a temporary object.

This adds a pointer to an existing type to the current temporary pointer. If the temporary was already assigned, then it is deleted.

Parameters:
tempobject to assign.

Definition at line 300 of file generics.h.


The documentation for this class was generated from the following file: