NAME

OTC_Reaper - Destroys single objects.

SYNOPSIS


#include <OTC/memory/reaper.hh>

template<class T>
class OTC_Reaper
{
  public:
    inline OTC_Reaper();
    inline ~OTC_Reaper();
    inline void grab(T* theData);
    inline void release();
};

CLASS TYPE

Concrete

DESCRIPTION

The class OTC_Reaper assists in ensuring that single objects allocated from the free store are deleted when the stack is unwound as a result of an exception. This is achieved by using an instance of this class as a handle to an object allocated using new. Once an object is grabbed using an instance of this class, the section of code in which an exception could be raised is executed. If an exception does occur then the instance of this class will be destroyed and the object deleted. If no exception occurs a call can be made to release the object, when the destructor is finally called the object would not be deleted.

EXAMPLE

INITIALISATION

inline OTC_Reaper();

DESTRUCTION

inline ~OTC_Reaper();

GRAB/RELEASE

inline void grab(T* theData);
inline void release();

SEE ALSO

OTC_VecReaper, OTC_MallocReaper

LIBRARY

OTC

AUTHOR(S)

Graham Dumpleton

COPYRIGHT

Copyright 1993 TELSTRA CORPORATION LIMITED