Orxonox  0.0.5 Codename: Arcturus
Namespaces | Classes | Typedefs | Functions
Loki Namespace Reference

Namespaces

 Private
 

Classes

struct  CompileTimeError
 
struct  CompileTimeError< true >
 
struct  Int2Type
 
struct  IsCustomFloat
 
struct  IsCustomSignedInt
 
struct  IsCustomUnsignedInt
 
struct  IsSameType
 
struct  IsSameType< T, T >
 
class  NullType
 
class  ObjScopeGuardImpl0
 Implementation class for a class per-instance member function with no parameters. More...
 
class  ObjScopeGuardImpl1
 Implementation class for a class per-instance member function with one parameter. More...
 
class  ObjScopeGuardImpl2
 Implementation class for a class per-instance member function with two parameters. More...
 
class  ObjScopeGuardImpl3
 Implementation class for a class per-instance member function with three parameters. More...
 
class  RefToValue
 Transports a reference as a value Serves to implement the Colvin/Gibbons trick for SmartPtr/ScopeGuard. More...
 
class  ScopeGuardImpl0
 Implementation class for a standalone function or class static function with no parameters. More...
 
class  ScopeGuardImpl1
 Implementation class for a standalone function or class static function with one parameter. More...
 
class  ScopeGuardImpl2
 Implementation class for a standalone function or class static function with two parameters. More...
 
class  ScopeGuardImpl3
 Implementation class for a standalone function or class static function with three parameters. More...
 
class  ScopeGuardImpl4
 Implementation class for a standalone function or class static function with four parameters. More...
 
class  ScopeGuardImpl5
 Implementation class for a standalone function or class static function with five parameters. More...
 
class  ScopeGuardImplBase
 Base class used by all ScopeGuard implementations. More...
 
struct  Select
 
struct  Select< false, T, U >
 
struct  Type2Type
 
class  TypeTraits
 

Typedefs

typedef const ScopeGuardImplBaseScopeGuard
 
  More...
 

Functions

template<class T >
RefToValue< T > ByRef (T &t)
 RefToValue creator. More...
 
template<typename F >
ScopeGuardImpl0< F > MakeGuard (F fun)
 
template<typename F , typename P1 >
ScopeGuardImpl1< F, P1 > MakeGuard (F fun, P1 p1)
 
template<typename F , typename P1 , typename P2 >
ScopeGuardImpl2< F, P1, P2 > MakeGuard (F fun, P1 p1, P2 p2)
 
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 , 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 , 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 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 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 , 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 , 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<class Obj , typename MemFun >
ObjScopeGuardImpl0< Obj, MemFun > MakeObjGuard (Obj &obj, MemFun memFun)
 
template<class Obj , typename MemFun , typename P1 >
ObjScopeGuardImpl1< Obj, MemFun, P1 > MakeObjGuard (Obj &obj, MemFun memFun, P1 p1)
 
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 , typename P2 , typename P3 >
ObjScopeGuardImpl3< Obj, MemFun, P1, P2, P3 > MakeObjGuard (Obj &obj, MemFun memFun, P1 p1, P2 p2, P3 p3)
 

Function Documentation

template<typename F >
ScopeGuardImpl0<F> Loki::MakeGuard ( fun)
inline
template<typename F , typename P1 >
ScopeGuardImpl1<F, P1> Loki::MakeGuard ( fun,
P1  p1 
)
inline
template<typename F , typename P1 , typename P2 >
ScopeGuardImpl2<F, P1, P2> Loki::MakeGuard ( fun,
P1  p1,
P2  p2 
)
inline
template<typename F , typename P1 , typename P2 , typename P3 >
ScopeGuardImpl3<F, P1, P2, P3> Loki::MakeGuard ( fun,
P1  p1,
P2  p2,
P3  p3 
)
inline
template<typename F , typename P1 , typename P2 , typename P3 , typename P4 >
ScopeGuardImpl4< F, P1, P2, P3, P4 > Loki::MakeGuard ( fun,
P1  p1,
P2  p2,
P3  p3,
P4  p4 
)
inline
template<typename F , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
ScopeGuardImpl5< F, P1, P2, P3, P4, P5 > Loki::MakeGuard ( fun,
P1  p1,
P2  p2,
P3  p3,
P4  p4,
P5  p5 
)
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 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 , 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 , 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
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
template<class Obj , typename MemFun >
ObjScopeGuardImpl0<Obj, MemFun> Loki::MakeObjGuard ( Obj &  obj,
MemFun  memFun 
)
inline
template<class Obj , typename MemFun , typename P1 >
ObjScopeGuardImpl1<Obj, MemFun, P1> Loki::MakeObjGuard ( Obj &  obj,
MemFun  memFun,
P1  p1 
)
inline
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
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