A class hierarchy for cleaning up after durable resources. More...
#include <util.h>
Public Member Functions | |
void | dismiss () const |
Tell the guard that it does not need to invoke clean up function any more. More... | |
Protected Member Functions | |
guardBase (const guardBase &rhs) | |
!< Default constructor. More... | |
~guardBase () | |
Destructor. No need to be virtual. | |
Static Protected Member Functions | |
template<typename T > | |
static void | cleanup (T &task) throw () |
A template to invoke the function registered. More... | |
Protected Attributes | |
volatile bool | done_ |
A class hierarchy for cleaning up after durable resources.
It follows the example set by Loki::ScopeGuard, but simpler.
|
inlineprotected |
!< Default constructor.
Copy constructor. Allows all derived classes to use the compiler generated copy constructors.
|
inlinestaticprotected |
A template to invoke the function registered.
Also absorbs all exceptions.
Referenced by ibis::util::guardImpl0< F >::~guardImpl0(), ibis::util::guardImpl1< F, A >::~guardImpl1(), ibis::util::guardImpl2< F, A1, A2 >::~guardImpl2(), and ibis::util::guardObj0< C, F >::~guardObj0().
|
inline |
Tell the guard that it does not need to invoke clean up function any more.
Referenced by ibis::blob::append(), ibis::bord::evaluateTerms(), ibis::part::reorderValues(), ibis::blob::writeData(), and ibis::bord::xgroupby().