summaryrefslogtreecommitdiff
path: root/AK/ScopeGuard.h
blob: 994679666386e4adecf4d9d21e0a4f73a45e14c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

#include <AK/StdLibExtras.h>

namespace AK {

template<typename Callback>
class ScopeGuard {
public:
    ScopeGuard(Callback callback)
        : m_callback(move(callback))
    {
    }

    ~ScopeGuard()
    {
        m_callback();
    }

private:
    Callback m_callback;
};

}

using AK::ScopeGuard;