Orxonox: Loki::ScopeGuardImplBase Class Reference

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

`#include <src/util/ScopeGuard.h>`

Inheritance diagram for Loki::ScopeGuardImplBase:

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

ScopeGuardImplBase & | operator= (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]`

Referenced by Loki::ObjScopeGuardImpl0< Obj, MemFun >::~ObjScopeGuardImpl0(), Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >::~ObjScopeGuardImpl1(), Loki::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >::~ObjScopeGuardImpl2(), Loki::ObjScopeGuardImpl3< Obj, MemFun, P1, P2, P3 >::~ObjScopeGuardImpl3(), Loki::ScopeGuardImpl0< F >::~ScopeGuardImpl0(), Loki::ScopeGuardImpl1< F, P1 >::~ScopeGuardImpl1(), Loki::ScopeGuardImpl2< F, P1, P2 >::~ScopeGuardImpl2(), Loki::ScopeGuardImpl3< F, P1, P2, P3 >::~ScopeGuardImpl3(), Loki::ScopeGuardImpl4< F, P1, P2, P3, P4 >::~ScopeGuardImpl4(), and Loki::ScopeGuardImpl5< F, P1, P2, P3, P4, P5 >::~ScopeGuardImpl5().

## Member Data Documentation

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

Referenced by Dismiss().

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

- src/util/ScopeGuard.h