File indexing completed on 2024-05-12 05:13:03

0001 /*
0002     This file is part of Akregator.
0003 
0004     SPDX-FileCopyrightText: 2008 Frank Osterfeld <osterfeld@kde.org>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0
0007 */
0008 
0009 #pragma once
0010 
0011 namespace Akregator
0012 {
0013 template<typename T>
0014 class TemporaryValue
0015 {
0016 public:
0017     TemporaryValue(T &var_, const T &tempVal)
0018         : var(var_)
0019         , prev(var)
0020     {
0021         var = tempVal;
0022     }
0023 
0024     ~TemporaryValue()
0025     {
0026         var = prev;
0027     }
0028 
0029 private:
0030     T &var;
0031     const T prev;
0032 };
0033 }