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 Sep 21 23:42:34 2007 for blocxx by  doxygen 1.5.3