#pragma once #include <functional> /* A trivial class to run a function at the end of a scope. */ class Finally { private: std::function<void()> fun; public: Finally(std::function<void()> fun) : fun(fun) {} ~Finally() { fun(); } };