30 #ifndef SCOPE_EXIT_HXX
31 #define SCOPE_EXIT_HXX
74 #define ScopeExitCat(a, b) a ## b
75 #define ScopeExitName(line) ScopeExitCat(at_scope_exit_, line)
87 #define AtScopeExit(...) auto ScopeExitName(__LINE__) = ScopeExitTag() + [__VA_ARGS__]()
ScopeExitGuard & operator=(const ScopeExitGuard &)=delete
ScopeExitGuard(ScopeExitGuard &&src)
ScopeExitGuard< F > operator+(F &&f)