diff options
Diffstat (limited to 'source/ScopeGuard.hpp')
-rw-r--r-- | source/ScopeGuard.hpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/ScopeGuard.hpp b/source/ScopeGuard.hpp index b4a1749..28f3385 100644 --- a/source/ScopeGuard.hpp +++ b/source/ScopeGuard.hpp @@ -49,5 +49,12 @@ public: } }; +template <class T> +auto GuardDeletion(T* ptr) { + return ScopeGuard([ptr]() { + delete ptr; + }); +} + #define SCOPE_GUARD(name) ScopeGuard name = [&]() #define DEFER ScopeGuard UNIQUE_NAME(scopeGuard) = [&]() |