mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-23 11:17:06 +08:00
ef0de8d873
[nxxm](https://nxxm.github.io)
23 lines
485 B
C++
23 lines
485 B
C++
#ifndef FTXUI_UTIL_AUTORESET_HPP
|
|
#define FTXUI_UTIL_AUTORESET_HPP
|
|
|
|
namespace ftxui {
|
|
|
|
template<typename T>
|
|
class AutoReset {
|
|
public:
|
|
AutoReset(T* variable, T new_value)
|
|
: variable_(variable),
|
|
previous_value_(std::move(*variable)) {
|
|
*variable_ = std::move(new_value);
|
|
}
|
|
~AutoReset() { *variable_ = std::move(previous_value_); }
|
|
private:
|
|
T* variable_;
|
|
T previous_value_;
|
|
};
|
|
|
|
} // namespace ftxui
|
|
|
|
#endif /* end of include guard: FTXUI_UTIL_AUTORESET_HPP */
|