mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-22 09:21:57 -05:00
AK: Make TemporaryChange not copy the old value twice
This is necessary for the next commit (and might even help performance in some very weird cases). (cherry picked from commit e5f87eb12bdad9dfbf8a825461ac17fdb8457f50; amended to add a missing include of StdLibExtras.h for move())
This commit is contained in:
parent
3aec9df468
commit
2502b5713d
1 changed files with 4 additions and 3 deletions
|
@ -7,6 +7,7 @@
|
|||
#pragma once
|
||||
|
||||
#include <AK/Platform.h>
|
||||
#include <AK/StdLibExtras.h>
|
||||
|
||||
namespace AK {
|
||||
|
||||
|
@ -15,11 +16,11 @@ class TemporaryChange {
|
|||
public:
|
||||
TemporaryChange(T& variable, T value)
|
||||
: m_variable(variable)
|
||||
, m_old_value(variable)
|
||||
, m_old_value(move(variable))
|
||||
{
|
||||
m_variable = value;
|
||||
m_variable = move(value);
|
||||
}
|
||||
~TemporaryChange() { m_variable = m_old_value; }
|
||||
~TemporaryChange() { m_variable = move(m_old_value); }
|
||||
|
||||
private:
|
||||
T& m_variable;
|
||||
|
|
Loading…
Reference in a new issue