blob: 6248bb865bb6ba7bdb0a89c95a120a0397a878b4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#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;
|