summaryrefslogtreecommitdiff
path: root/AK/TemporaryChange.h
blob: 274672a490c3918571b0648af9446cf66d101e95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once

namespace AK {

template<typename T>
class TemporaryChange {
public:
    TemporaryChange(T& variable, T value) : m_variable(variable), m_old_value(variable) { m_variable = value; }
    ~TemporaryChange() { m_variable = m_old_value; }

private:
    T& m_variable;
    T m_old_value;
};

}

using AK::TemporaryChange;