class utils::OnEnd¶
Overview¶
Helper class that performs an action when it is destroyed. More…
#include <OnEnd.h> class OnEnd { public: // typedefs typedef std::function<void()> Callback; // construction OnEnd(Callback F); OnEnd(const OnEnd&); OnEnd(OnEnd&&); ~OnEnd(); // methods OnEnd& operator=(const OnEnd&); OnEnd& operator=(OnEnd&&); };
Detailed Documentation¶
Helper class that performs an action when it is destroyed.
Motivation:
When a function has many boundary conditions and returns in multiple places.
Example usage:
bool Init() { m->device->LockGUI(); // Locks GUI OnEnd _([&]() { m->device->UnlockGUI(); }); if (condition_1) return false; // GUI is unlocked if (condition_2) return false; // GUI is unlocked return true; // GUI is unlocked }