Files
SH-Quizzes/ACMOJ-1048.hpp
2023-12-23 22:23:48 +08:00

13 lines
303 B
C++

#include <functional>
#include <stack>
class Defer {
std::stack<std::function<void()>> stk;
public:
~Defer() {
while (!stk.empty()) stk.top()(), stk.pop();
}
Defer() = default;
Defer(std::function<void()> f) { stk.push(f); }
void operator()(std::function<void()> f) { stk.push(f); }
};