Orxonox  0.0.5 Codename: Arcturus
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 > Class Template Reference

Implementation class for a class per-instance member function with one parameter. More...

#include </home/jenkins/workspace/orxonox_doxygen_trunk/src/external/loki/ScopeGuard.h>

Inheritance diagram for Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >:
Loki::ScopeGuardImplBase

Public Member Functions

 ObjScopeGuardImpl1 (Obj &obj, MemFun memFun, P1 p1)
 
 ~ObjScopeGuardImpl1 () throw ()
 
void Execute ()
 
- Public Member Functions inherited from Loki::ScopeGuardImplBase
 ScopeGuardImplBase () throw ()
 
void Dismiss () const throw ()
 

Static Public Member Functions

static ObjScopeGuardImpl1< Obj, MemFun, P1 > MakeObjGuard (Obj &obj, MemFun memFun, P1 p1)
 

Protected Attributes

MemFun memFun_
 
Obj & obj_
 
const P1 p1_
 
- Protected Attributes inherited from Loki::ScopeGuardImplBase
bool dismissed_
 

Additional Inherited Members

- Protected Member Functions inherited from Loki::ScopeGuardImplBase
 ScopeGuardImplBase (const ScopeGuardImplBase &other) throw ()
 Copy-constructor takes over responsibility from other ScopeGuard. More...
 
 ~ScopeGuardImplBase ()
 
- Static Protected Member Functions inherited from Loki::ScopeGuardImplBase
template<typename J >
static void SafeExecute (J &j) throw ()
 

Detailed Description

template<class Obj, typename MemFun, typename P1>
class Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >

Implementation class for a class per-instance member function with one parameter.

The parameter is copied by value - use Loki::ByRef if you must use a reference instead. ScopeGuard ignores any value returned from the call within the Execute function.

This class has 3 standalone helper functions which create a ScopeGuard. One is MakeObjGuard, which is deprecated but provided for older code. The other two are MakeGuard overloads, one which takes a pointer to an object, and the other which takes a reference.

Constructor & Destructor Documentation

template<class Obj, typename MemFun, typename P1>
Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >::~ObjScopeGuardImpl1 ( )
throw (
)
inline
template<class Obj, typename MemFun, typename P1>
Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >::ObjScopeGuardImpl1 ( Obj &  obj,
MemFun  memFun,
P1  p1 
)
inline

Member Function Documentation

template<class Obj, typename MemFun, typename P1>
void Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >::Execute ( )
inline
template<class Obj, typename MemFun, typename P1>
static ObjScopeGuardImpl1<Obj, MemFun, P1> Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >::MakeObjGuard ( Obj &  obj,
MemFun  memFun,
P1  p1 
)
inlinestatic

Member Data Documentation

template<class Obj, typename MemFun, typename P1>
MemFun Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >::memFun_
protected
template<class Obj, typename MemFun, typename P1>
Obj& Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >::obj_
protected
template<class Obj, typename MemFun, typename P1>
const P1 Loki::ObjScopeGuardImpl1< Obj, MemFun, P1 >::p1_
protected

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