From 781f216676ad341607ffc99fa8f816cd207eb90a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 6 Feb 2019 16:01:59 +0100 Subject: [PATCH] AK: Add a TemporaryChange helper class. --- AK/TemporaryChange.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 AK/TemporaryChange.h diff --git a/AK/TemporaryChange.h b/AK/TemporaryChange.h new file mode 100644 index 00000000000000..274672a490c391 --- /dev/null +++ b/AK/TemporaryChange.h @@ -0,0 +1,18 @@ +#pragma once + +namespace AK { + +template +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;