1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#include "scopeguard.h" using namespace osdev::components; ScopeGuard::ScopeGuard( const CleanUpFunction& cleanupFunc ) : m_cleanupFunc( cleanupFunc ) { } ScopeGuard::~ScopeGuard() noexcept { try { if( m_cleanupFunc ) { m_cleanupFunc(); } } catch (...) {} }