Mikemon/src/defer.h
mikeb 5ccc22deae added defer.h for better free() use;
to create multiple textures in one array is now possible;
swapping textures with mouseclick;
added some textures;

git-svn-id: svn://ammerhai.com/home/mike/pokemon_repo@7 24008968-59e6-ed4c-a10b-0b2c954b24ab
2021-02-27 17:13:03 +00:00

16 lines
349 B
C++

#pragma once
template <typename F>
struct _defer {
F f;
_defer(F f) : f(f) {};
~_defer() { f(); };
};
template <typename F>
_defer<F> MakeDefer(F f) {
return _defer<F>(f);
}
#define STRING_JOIN(a, b) _STRING_JOIN(a, b)
#define _STRING_JOIN(a, b) a ## b
#define defer(x) auto STRING_JOIN(_defer_, __LINE__) = MakeDefer([=](){x;})