ScopeGuard.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  BLOCXX_NAMESPACE

Classes

class  BLOCXX_NAMESPACE::RefHolder< T >
class  BLOCXX_NAMESPACE::ScopeGuardImplBase
class  BLOCXX_NAMESPACE::ScopeGuardImpl0< F >
class  BLOCXX_NAMESPACE::ScopeGuardImpl1< F, P1 >
class  BLOCXX_NAMESPACE::ScopeGuardImpl2< F, P1, P2 >
class  BLOCXX_NAMESPACE::ScopeGuardImpl3< F, P1, P2, P3 >
class  BLOCXX_NAMESPACE::ObjScopeGuardImpl0< Obj, MemFun >
class  BLOCXX_NAMESPACE::ObjScopeGuardImpl1< Obj, MemFun, P1 >
class  BLOCXX_NAMESPACE::ObjScopeGuardImpl2< Obj, MemFun, P1, P2 >

Defines

#define CONCATENATE_DIRECT(s1, s2)   s1##s2
#define CONCATENATE(s1, s2)   CONCATENATE_DIRECT(s1, s2)
#define ANONYMOUS_VARIABLE(str)   CONCATENATE(str, __LINE__)
#define ON_BLOCK_EXIT   ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = makeGuard
#define ON_BLOCK_EXIT_OBJ   ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = makeObjGuard

Typedefs

typedef const ScopeGuardImplBase & BLOCXX_NAMESPACE::ScopeGuard

Functions

template<class T>
RefHolder< T > BLOCXX_NAMESPACE::byRef (T &t)
template<typename F>
ScopeGuardImpl0< F > BLOCXX_NAMESPACE::makeGuard (F fun)
template<typename F, typename P1>
ScopeGuardImpl1< F, P1 > BLOCXX_NAMESPACE::makeGuard (F fun, P1 p1)
template<typename F, typename P1, typename P2>
ScopeGuardImpl2< F, P1, P2 > BLOCXX_NAMESPACE::makeGuard (F fun, P1 p1, P2 p2)
template<typename F, typename P1, typename P2, typename P3>
ScopeGuardImpl3< F, P1, P2,
P3 > 
BLOCXX_NAMESPACE::makeGuard (F fun, P1 p1, P2 p2, P3 p3)
template<class Obj, typename MemFun>
ObjScopeGuardImpl0< Obj, MemFun > BLOCXX_NAMESPACE::makeObjGuard (Obj &obj, MemFun memFun)
template<class Obj, typename MemFun, typename P1>
ObjScopeGuardImpl1< Obj, MemFun,
P1 > 
BLOCXX_NAMESPACE::makeObjGuard (Obj &obj, MemFun memFun, P1 p1)
template<class Obj, typename MemFun, typename P1, typename P2>
ObjScopeGuardImpl2< Obj, MemFun,
P1, P2 > 
BLOCXX_NAMESPACE::makeObjGuard (Obj &obj, MemFun memFun, P1 p1, P2 p2)


Define Documentation

#define ANONYMOUS_VARIABLE str   )     CONCATENATE(str, __LINE__)
 

Definition at line 339 of file ScopeGuard.hpp.

#define CONCATENATE s1,
s2   )     CONCATENATE_DIRECT(s1, s2)
 

Definition at line 338 of file ScopeGuard.hpp.

#define CONCATENATE_DIRECT s1,
s2   )     s1##s2
 

Definition at line 337 of file ScopeGuard.hpp.

#define ON_BLOCK_EXIT   ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = makeGuard
 

Definition at line 341 of file ScopeGuard.hpp.

#define ON_BLOCK_EXIT_OBJ   ScopeGuard ANONYMOUS_VARIABLE(scopeGuard) = makeObjGuard
 

Definition at line 342 of file ScopeGuard.hpp.


Generated on Fri Jun 16 15:39:09 2006 for blocxx by  doxygen 1.4.6