Files
banan-os/BAN/include/BAN/ScopeGuard.h
Bananymous dfe5a2d665 All: Cleanup all files
Add newline to end of files and remove whitespace from end of lines
2024-01-24 15:53:38 +02:00

29 lines
339 B
C++

#pragma once
#include <BAN/Function.h>
namespace BAN
{
class ScopeGuard
{
public:
ScopeGuard(const BAN::Function<void()>& func)
: m_func(func)
{ }
~ScopeGuard()
{
if (m_enabled)
m_func();
}
void disable()
{
m_enabled = false;
}
private:
BAN::Function<void()> m_func;
bool m_enabled { true };
};
}