yaze
0.2.2
Link to the Past ROM Editor
Loading...
Searching...
No Matches
notify.h
Go to the documentation of this file.
1
#ifndef YAZE_UTIL_NOTIFY_H
2
#define YAZE_UTIL_NOTIFY_H
3
4
namespace
yaze
{
5
namespace
util
{
6
12
template
<
typename
T>
13
class
NotifyValue
{
14
public
:
15
NotifyValue
() :
value_
(),
modified_
(false),
temp_value_
() {}
16
NotifyValue
(
const
T &value)
17
:
value_
(value),
modified_
(false),
temp_value_
() {}
18
19
void
set
(
const
T &value) {
20
if
(value !=
value_
) {
21
value_
= value;
22
modified_
=
true
;
23
}
24
}
25
26
void
set
(T &&value) {
27
if
(value !=
value_
) {
28
value_
= std::move(value);
29
modified_
=
true
;
30
}
31
}
32
33
const
T &
get
() {
34
modified_
=
false
;
35
return
value_
;
36
}
37
38
T &
edit
() {
39
modified_
=
false
;
40
temp_value_
=
value_
;
41
return
temp_value_
;
42
}
43
44
void
commit
() {
45
if
(
temp_value_
!=
value_
) {
46
value_
=
temp_value_
;
47
modified_
=
true
;
48
}
49
}
50
51
bool
consume_modified
() {
52
bool
modified
=
modified_
;
53
modified_
=
false
;
54
return
modified
;
55
}
56
57
operator
T() {
return
get
(); }
58
void
operator=
(
const
T &value) {
set
(value); }
59
bool
modified
()
const
{
return
modified_
; }
60
61
private
:
62
T
value_
;
63
T
temp_value_
;
64
bool
modified_
;
65
};
66
67
}
// namespace util
68
}
// namespace yaze
69
70
#endif
yaze::util::NotifyValue::consume_modified
bool consume_modified()
Definition
notify.h:51
yaze::util::NotifyValue::NotifyValue
NotifyValue()
Definition
notify.h:15
yaze::util::NotifyValue::modified_
bool modified_
Definition
notify.h:64
yaze::util::NotifyValue::commit
void commit()
Definition
notify.h:44
yaze::util::NotifyValue::NotifyValue
NotifyValue(const T &value)
Definition
notify.h:16
yaze::util::NotifyValue::operator=
void operator=(const T &value)
Definition
notify.h:58
yaze::util::NotifyValue::get
const T & get()
Definition
notify.h:33
yaze::util::NotifyValue::modified
bool modified() const
Definition
notify.h:59
yaze::util::NotifyValue::value_
T value_
Definition
notify.h:62
yaze::util::NotifyValue::edit
T & edit()
Definition
notify.h:38
yaze::util::NotifyValue::set
void set(T &&value)
Definition
notify.h:26
yaze::util::NotifyValue::set
void set(const T &value)
Definition
notify.h:19
yaze::util::NotifyValue::temp_value_
T temp_value_
Definition
notify.h:63
yaze::util
Definition
bps.cc:10
yaze
Main namespace for the application.
Definition
controller.cc:18
src
util
notify.h
Generated by
1.13.2