37 : dismissed_(other.dismissed_)
43 static void SafeExecute(J& j)
throw()
55 mutable bool dismissed_;
60 void Dismiss()
const throw()
100 template <
typename F,
typename P1>
125 template <
typename F,
typename P1>
132 template <
typename F,
typename P1,
typename P2>
158 template <
typename F,
typename P1,
typename P2>
165 template <
typename F,
typename P1,
typename P2,
typename P3>
182 ScopeGuardImpl3(F fun, P1 p1, P2 p2, P3 p3) : fun_(fun), p1_(p1), p2_(p2), p3_(p3)
191 template <
typename F,
typename P1,
typename P2,
typename P3>
200 template <
class Obj,
typename MemFun>
218 : obj_(obj), memFun_(memFun) {}
223 template <
class Obj,
typename MemFun>
230 template <
class Obj,
typename MemFun,
typename P1>
244 (obj_.*memFun_)(p1_);
248 : obj_(obj), memFun_(memFun), p1_(p1) {}
254 template <
class Obj,
typename MemFun,
typename P1>
261 template <
class Obj,
typename MemFun,
typename P1,
typename P2>
275 (obj_.*memFun_)(p1_, p2_);
279 : obj_(obj), memFun_(memFun), p1_(p1), p2_(p2) {}
286 template <
class Obj,
typename MemFun,
typename P1,
typename P2>
292 #define CONCATENATE_DIRECT(s1, s2) s1##s2
293 #define CONCATENATE(s1, s2) CONCATENATE_DIRECT(s1, s2)
294 #define ANONYMOUS_VARIABLE(str) CONCATENATE(str, __LINE__)
297 # define UNUSED_VARIABLE __attribute__((unused))
299 # define UNUSED_VARIABLE
302 #define ON_BLOCK_EXIT ScopeGuard UNUSED_VARIABLE ANONYMOUS_VARIABLE(scopeGuard) = MakeGuard
303 #define ON_BLOCK_EXIT_OBJ ScopeGuard UNUSED_VARIABLE ANONYMOUS_VARIABLE(scopeGuard) = MakeObjGuard
305 #endif //SCOPEGUARD_H_
scope guard class
Definition: ScopeGuard.h:101
scope guard class
Definition: ScopeGuard.h:28
scope guard class
Definition: ScopeGuard.h:70
scope guard class
Definition: ScopeGuard.h:201
scope guard class
Definition: ScopeGuard.h:166
templated class for ScopeGuard to hold a c++ reference
Definition: ScopeGuard.h:7
scope guard class
Definition: ScopeGuard.h:231
scope guard class
Definition: ScopeGuard.h:133
scope guard class
Definition: ScopeGuard.h:262