UCommon
Public Member Functions | Protected Attributes
ucommon::temporary< T > Class Template Reference

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

#include <generics.h>

Public Member Functions

 operator bool ()
bool operator! ()
T & operator* ()
 Access heap object through our temporary directly.
T * operator-> ()
 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 (temporary< T > &)
 Disable copy constructor.
 temporary (T *ptr)
 Construct an assigned pointer.

Protected Attributes

T * object

Detailed Description

template<typename T>
class ucommon::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.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 259 of file generics.h.


Member Function Documentation

template<typename T >
T& ucommon::temporary< T >::operator* ( )
inline

Access heap object through our temporary directly.

Returns:
reference to heap resident object.

Definition at line 311 of file generics.h.

template<typename T >
T* ucommon::temporary< T >::operator-> ( )
inline

Access members of our heap object through our temporary.

Returns:
member reference of heap object.

Definition at line 318 of file generics.h.

template<typename T >
T& ucommon::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 288 of file generics.h.

template<typename T >
void ucommon::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 301 of file generics.h.


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