12 #define synchronized(M) for(Lock M##_lock = M; M##_lock; M##_lock.setUnlock()) 19 #define synch(M) { Lock M##_lock = M; for (; M##_lock; M##_lock.setUnlock()) 26 atomic<thread::id> _owner;
55 operator bool ()
const;
74 #define finally() auto _final_obj=_finally([&] 75 #define finally1(M) auto M##_final_obj=_finally([M] 76 #define finally2(M,M2) auto M##_final_obj=_finally([M,M2] 77 #define finally3(M,M2,M3) auto M##_final_obj=_finally([M,M2,M3] 78 #define finally4(M,M2,M3,M4) auto M##_final_obj=_finally([M,M2,M3,M4] 79 #define finally5(M,M2,M3,M4,M5) auto M##_final_obj=_finally([M,M2,M3,M4,M5] 80 #define end_finally ); Definition: Synchronize.h:47
Definition: Synchronize.h:35
Definition: Synchronize.h:60
Definition: Synchronize.h:23
FinalAction(F f)
Definition: Synchronize.h:61
FinalAction< F > _finally(F f)
Definition: Synchronize.h:70
void disable()
Definition: Synchronize.h:63
~FinalAction()
Definition: Synchronize.h:62