og-northstar-launcher/primedev/util/utils.h
2024-08-26 15:16:11 +02:00

25 lines
416 B
C++

#pragma once
void RemoveAsciiControlSequences(char* str, bool allow_color_codes);
template <typename T> class ScopeGuard
{
public:
auto operator=(ScopeGuard&) = delete;
ScopeGuard(ScopeGuard&) = delete;
ScopeGuard(T callback)
: m_callback(callback)
{
}
~ScopeGuard()
{
if (!m_dismissed)
m_callback();
}
void Dismiss() { m_dismissed = true; }
private:
bool m_dismissed = false;
T m_callback;
};