FTXUI
6.1.9
C++ functional terminal UI.
Loading...
Searching...
No Matches
autoreset.hpp
Go to the documentation of this file.
1
// Copyright 2020 Arthur Sonzogni. All rights reserved.
2
// 此原始碼的使用受 MIT 授權條款約束,詳見 LICENSE 檔案。
3
#ifndef FTXUI_UTIL_AUTORESET_HPP
4
#define FTXUI_UTIL_AUTORESET_HPP
5
6
#include <utility>
7
8
namespace
ftxui
{
9
10
/// 將一個值賦給一個變數,當超出作用域時,將其舊值重置。
11
template
<
typename
T>
12
class
AutoReset
{
13
public
:
14
AutoReset
(T* variable, T new_value)
15
: variable_(variable), previous_value_(std::move(*variable)) {
16
*variable_ = std::move(new_value);
17
}
18
AutoReset
(
const
AutoReset
&) =
delete
;
19
AutoReset
(
AutoReset
&&) =
delete
;
20
AutoReset
&
operator=
(
const
AutoReset
&) =
delete
;
21
AutoReset
&
operator=
(
AutoReset
&&) =
delete
;
22
~AutoReset
() { *variable_ = std::move(previous_value_); }
23
24
private
:
25
T* variable_;
26
T previous_value_;
27
};
28
29
}
// namespace ftxui
30
31
#endif
/* 包含防護結束: FTXUI_UTIL_AUTORESET_HPP */
ftxui::AutoReset
將一個值賦給一個變數,當超出作用域時,將其舊值重置。
Definition
autoreset.hpp:12
ftxui::AutoReset::AutoReset
AutoReset(const AutoReset &)=delete
ftxui::AutoReset::operator=
AutoReset & operator=(AutoReset &&)=delete
ftxui::AutoReset::operator=
AutoReset & operator=(const AutoReset &)=delete
ftxui::AutoReset::AutoReset
AutoReset(AutoReset &&)=delete
ftxui::AutoReset::~AutoReset
~AutoReset()
Definition
autoreset.hpp:22
ftxui::AutoReset::AutoReset
AutoReset(T *variable, T new_value)
Definition
autoreset.hpp:14
ftxui
FTXUI 的 ftxui:: 命名空間
Definition
animation.hpp:10