Orxonox: Loki Namespace Reference

# Loki Namespace Reference

## Classes

class | ObjScopeGuardImpl0
class | ObjScopeGuardImpl1
class | ObjScopeGuardImpl2
class | ObjScopeGuardImpl3
class | RefToValue
class | ScopeGuardImpl0
class | ScopeGuardImpl1
class | ScopeGuardImpl2
class | ScopeGuardImpl3
class | ScopeGuardImpl4
class | ScopeGuardImpl5
class | ScopeGuardImplBase

## Typedefs

typedef const ScopeGuardImplBase & | ScopeGuard

## Functions

template<class T>
RefToValue< T > | ByRef (T &t)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b, typename P3a, typename P3b>
ObjScopeGuardImpl3< Obj1, Ret(Obj2::*)(P1a, P2a, P3a), P1b, P2b, P3b > | MakeGuard (Ret(Obj2::*memFun)(P1a, P2a, P3a), Obj1 *obj, P1b p1, P2b p2, P3b p3)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b, typename P3a, typename P3b>
ObjScopeGuardImpl3< Obj1, Ret(Obj2::*)(P1a, P2a, P3a), P1b, P2b, P3b > | MakeGuard (Ret(Obj2::*memFun)(P1a, P2a, P3a), Obj1 &obj, P1b p1, P2b p2, P3b p3)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b>
ObjScopeGuardImpl2< Obj1, Ret(Obj2::*)(P1a, P2a), P1b, P2b > | MakeGuard (Ret(Obj2::*memFun)(P1a, P2a), Obj1 *obj, P1b p1, P2b p2)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b>
ObjScopeGuardImpl2< Obj1, Ret(Obj2::*)(P1a, P2a), P1b, P2b > | MakeGuard (Ret(Obj2::*memFun)(P1a, P2a), Obj1 &obj, P1b p1, P2b p2)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b>
ObjScopeGuardImpl1< Obj1, Ret(Obj2::*)(P1a), P1b > | MakeGuard (Ret(Obj2::*memFun)(P1a), Obj1 *obj, P1b p1)
template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b>
ObjScopeGuardImpl1< Obj1, Ret(Obj2::*)(P1a), P1b > | MakeGuard (Ret(Obj2::*memFun)(P1a), Obj1 &obj, P1b p1)
template<typename Ret, class Obj1, class Obj2>
ObjScopeGuardImpl0< Obj1, Ret(Obj2::*)()> | MakeGuard (Ret(Obj2::*memFun)(), Obj1 *obj)
template<typename Ret, class Obj1, class Obj2>
ObjScopeGuardImpl0< Obj1, Ret(Obj2::*)()> | MakeGuard (Ret(Obj2::*memFun)(), Obj1 &obj)
template<typename F, typename P1, typename P2, typename P3, typename P4, typename P5>
ScopeGuardImpl5< F, P1, P2, P3, P4, P5 > | MakeGuard (F fun, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5)
template<typename F, typename P1, typename P2, typename P3, typename P4>
ScopeGuardImpl4< F, P1, P2, P3, P4 > | MakeGuard (F fun, P1 p1, P2 p2, P3 p3, P4 p4)
template<typename F, typename P1, typename P2, typename P3>
ScopeGuardImpl3< F, P1, P2, P3 > | MakeGuard (F fun, P1 p1, P2 p2, P3 p3)
template<typename F, typename P1, typename P2>
ScopeGuardImpl2< F, P1, P2 > | MakeGuard (F fun, P1 p1, P2 p2)
template<typename F, typename P1>
ScopeGuardImpl1< F, P1 > | MakeGuard (F fun, P1 p1)
template<typename F>
ScopeGuardImpl0< F > | MakeGuard (F fun)
template<class Obj, typename MemFun, typename P1, typename P2, typename P3>
ObjScopeGuardImpl3< Obj, MemFun, P1, P2, P3 > | MakeObjGuard (Obj &obj, MemFun memFun, P1 p1, P2 p2, P3 p3)
template<class Obj, typename MemFun, typename P1, typename P2>
ObjScopeGuardImpl2< Obj, MemFun, P1, P2 > | MakeObjGuard (Obj &obj, MemFun memFun, P1 p1, P2 p2)
template<class Obj, typename MemFun, typename P1>
ObjScopeGuardImpl1< Obj, MemFun, P1 > | MakeObjGuard (Obj &obj, MemFun memFun, P1 p1)
template<class Obj, typename MemFun>
ObjScopeGuardImpl0< Obj, MemFun > | MakeObjGuard (Obj &obj, MemFun memFun)

## Function Documentation

template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b, typename P3a, typename P3b>

ObjScopeGuardImpl3< Obj1, Ret( Obj2::* )( P1a, P2a, P3a ), P1b, P2b, P3b > Loki::MakeGuard | ( | Ret(Obj2::*)(P1a, P2a, P3a) | memFun,
|  | Obj1 * | obj,
|  | P1b | p1,
|  | P2b | p2,
|  | P3b | p3 |
| ) |  |  | `[inline]`

References MakeObjGuard().

Referenced by MakeGuard().

template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b, typename P3a, typename P3b>

ObjScopeGuardImpl3< Obj1, Ret( Obj2::* )( P1a, P2a, P3a ), P1b, P2b, P3b > Loki::MakeGuard | ( | Ret(Obj2::*)(P1a, P2a, P3a) | memFun,
|  | Obj1 & | obj,
|  | P1b | p1,
|  | P2b | p2,
|  | P3b | p3 |
| ) |  |  | `[inline]`

References MakeObjGuard().

template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b>

ObjScopeGuardImpl2<Obj1,Ret(Obj2::*)(P1a,P2a),P1b,P2b> Loki::MakeGuard | ( | Ret(Obj2::*)(P1a, P2a) | memFun,
|  | Obj1 * | obj,
|  | P1b | p1,
|  | P2b | p2 |
| ) |  |  | `[inline]`

template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b, typename P2a, typename P2b>

ObjScopeGuardImpl2<Obj1,Ret(Obj2::*)(P1a,P2a),P1b,P2b> Loki::MakeGuard | ( | Ret(Obj2::*)(P1a, P2a) | memFun,
|  | Obj1 & | obj,
|  | P1b | p1,
|  | P2b | p2 |
| ) |  |  | `[inline]`

template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b>

ObjScopeGuardImpl1<Obj1,Ret(Obj2::*)(P1a),P1b> Loki::MakeGuard | ( | Ret(Obj2::*)(P1a) | memFun,
|  | Obj1 * | obj,
|  | P1b | p1 |
| ) |  |  | `[inline]`

template<typename Ret, class Obj1, class Obj2, typename P1a, typename P1b>

ObjScopeGuardImpl1<Obj1,Ret(Obj2::*)(P1a),P1b> Loki::MakeGuard | ( | Ret(Obj2::*)(P1a) | memFun,
|  | Obj1 & | obj,
|  | P1b | p1 |
| ) |  |  | `[inline]`

template<typename Ret, class Obj1, class Obj2>

ObjScopeGuardImpl0<Obj1,Ret(Obj2::*)()> Loki::MakeGuard | ( | Ret(Obj2::*)() | memFun,
|  | Obj1 * | obj |
| ) |  |  | `[inline]`

template<typename Ret, class Obj1, class Obj2>

ObjScopeGuardImpl0<Obj1,Ret(Obj2::*)()> Loki::MakeGuard | ( | Ret(Obj2::*)() | memFun,
|  | Obj1 & | obj |
| ) |  |  | `[inline]`

template<typename F, typename P1, typename P2, typename P3, typename P4, typename P5>

ScopeGuardImpl5< F, P1, P2, P3, P4, P5 > Loki::MakeGuard | ( | F | fun,
|  | P1 | p1,
|  | P2 | p2,
|  | P3 | p3,
|  | P4 | p4,
|  | P5 | p5 |
| ) |  |  | `[inline]`

References MakeGuard().

template<typename F, typename P1, typename P2, typename P3, typename P4>

ScopeGuardImpl4< F, P1, P2, P3, P4 > Loki::MakeGuard | ( | F | fun,
|  | P1 | p1,
|  | P2 | p2,
|  | P3 | p3,
|  | P4 | p4 |
| ) |  |  | `[inline]`

References MakeGuard().

template<typename F, typename P1, typename P2, typename P3>

ScopeGuardImpl3<F, P1, P2, P3> Loki::MakeGuard | ( | F | fun,
|  | P1 | p1,
|  | P2 | p2,
|  | P3 | p3 |
| ) |  |  | `[inline]`

References MakeGuard().

template<typename F, typename P1, typename P2>

ScopeGuardImpl2<F, P1, P2> Loki::MakeGuard | ( | F | fun,
|  | P1 | p1,
|  | P2 | p2 |
| ) |  |  | `[inline]`

References MakeGuard().

template<typename F, typename P1>

ScopeGuardImpl1<F, P1> Loki::MakeGuard | ( | F | fun,
|  | P1 | p1 |
| ) |  |  | `[inline]`

References MakeGuard().

template<typename F>

ScopeGuardImpl0<F> Loki::MakeGuard | ( | F | fun | ) | `[inline]`

References MakeGuard().

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

template<class Obj, typename MemFun, typename P1, typename P2, typename P3>

ObjScopeGuardImpl3< Obj, MemFun, P1, P2, P3 > Loki::MakeObjGuard | ( | Obj & | obj,
|  | MemFun | memFun,
|  | P1 | p1,
|  | P2 | p2,
|  | P3 | p3 |
| ) |  |  | `[inline]`

Referenced by MakeObjGuard().

template<class Obj, typename MemFun, typename P1, typename P2>

ObjScopeGuardImpl2<Obj, MemFun, P1, P2> Loki::MakeObjGuard | ( | Obj & | obj,
|  | MemFun | memFun,
|  | P1 | p1,
|  | P2 | p2 |
| ) |  |  | `[inline]`

References MakeObjGuard().

template<class Obj, typename MemFun, typename P1>

ObjScopeGuardImpl1<Obj, MemFun, P1> Loki::MakeObjGuard | ( | Obj & | obj,
|  | MemFun | memFun,
|  | P1 | p1 |
| ) |  |  | `[inline]`

References MakeObjGuard().

template<class Obj, typename MemFun>

ObjScopeGuardImpl0<Obj, MemFun> Loki::MakeObjGuard | ( | Obj & | obj,
|  | MemFun | memFun |
| ) |  |  | `[inline]`

References MakeObjGuard().

Referenced by MakeGuard().