Loki::ScopeGuardImplBase Class Reference
[Exception-safe code]

#include <src/util/ScopeGuard.h>

Inheritance diagram for Loki::ScopeGuardImplBase:

Loki::ObjScopeGuardImpl0< Obj, MemFun > Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 > Loki::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 > Loki::ObjScopeGuardImpl3< Obj, MemFun, P1, P2, P3 > Loki::ScopeGuardImpl0< F > Loki::ScopeGuardImpl1< F, P1 > Loki::ScopeGuardImpl2< F, P1, P2 > Loki::ScopeGuardImpl3< F, P1, P2, P3 > Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 > Loki::ScopeGuardImpl5< F, P1, P2, P3, P4, P5 >

List of all members.

Public Member Functions

void Dismiss () const throw ()
 ScopeGuardImplBase () throw ()

Protected Member Functions

 ScopeGuardImplBase (const ScopeGuardImplBase &other) throw ()
 Copy-constructor takes over responsibility from other ScopeGuard.
 ~ScopeGuardImplBase ()

Static Protected Member Functions

template<typename J>
static void SafeExecute (J &j) throw ()

Protected Attributes

bool dismissed_

Private Member Functions

ScopeGuardImplBaseoperator= (const ScopeGuardImplBase &)
 Copy-assignment operator is not implemented and private.


Detailed Description

Base class used by all ScopeGuard implementations. All commonly used functions are in this class (e.g. - Dismiss and SafeExecute).

See Andrei's and Petru Marginean's CUJ article http://www.cuj.com/documents/s=8000/cujcexp1812alexandr/alexandr.htm

Changes to the original code by Joshua Lehrer: http://www.lehrerfamily.com/scopeguard.html


Constructor & Destructor Documentation

Loki::ScopeGuardImplBase::~ScopeGuardImplBase (  )  [inline, protected]

Loki::ScopeGuardImplBase::ScopeGuardImplBase ( const ScopeGuardImplBase other  )  throw () [inline, protected]

Copy-constructor takes over responsibility from other ScopeGuard.

Loki::ScopeGuardImplBase::ScopeGuardImplBase (  )  throw () [inline]


Member Function Documentation

void Loki::ScopeGuardImplBase::Dismiss (  )  const throw () [inline]

References dismissed_.

Referenced by orxonox::InputManager::initialise().

ScopeGuardImplBase& Loki::ScopeGuardImplBase::operator= ( const ScopeGuardImplBase  )  [private]

Copy-assignment operator is not implemented and private.

template<typename J>
static void Loki::ScopeGuardImplBase::SafeExecute ( J &  j  )  throw () [inline, static, protected]


Member Data Documentation

bool Loki::ScopeGuardImplBase::dismissed_ [mutable, protected]

Referenced by Dismiss().


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

Generated on Tue Jul 28 16:22:16 2009 for Orxonox by  doxygen 1.5.6