mirror of
https://github.com/seekrs/MacroLibX.git
synced 2026-01-12 23:23:34 +00:00
fixing put pixel, adding scene change checker
This commit is contained in:
33
runtime/Includes/Utils/CallOnExit.h
git.filemode.normal_file
33
runtime/Includes/Utils/CallOnExit.h
git.filemode.normal_file
@@ -0,0 +1,33 @@
|
||||
#ifndef __MLX_CALL_ON_EXIT__
|
||||
#define __MLX_CALL_ON_EXIT__
|
||||
|
||||
namespace mlx
|
||||
{
|
||||
template <typename F>
|
||||
class CallOnExit
|
||||
{
|
||||
public:
|
||||
CallOnExit() = default;
|
||||
CallOnExit(F&& functor);
|
||||
CallOnExit(const CallOnExit&) = delete;
|
||||
CallOnExit(CallOnExit&&) = delete;
|
||||
|
||||
void CallAndReset();
|
||||
void Reset();
|
||||
|
||||
CallOnExit& operator=(const CallOnExit&) = delete;
|
||||
CallOnExit& operator=(CallOnExit&&) = default;
|
||||
|
||||
~CallOnExit();
|
||||
|
||||
private:
|
||||
std::optional<F> m_functor;
|
||||
};
|
||||
|
||||
template<typename F>
|
||||
CallOnExit(F) -> CallOnExit<F>;
|
||||
}
|
||||
|
||||
#include <Utils/CallOnExit.inl>
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user