@@ -81,62 +81,65 @@ class SavedVar {
8181 return false ;
8282 }
8383
84- bool operator =(T new_value) { return Set (new_value); }
85-
86- bool operator ==(T new_value) { return value == new_value; }
87- bool operator !=(T new_value) { return value != new_value; }
88- bool operator >(T new_value) { return value == new_value; }
89- bool operator <(T new_value) { return value < new_value; }
90- bool operator >=(T new_value) { return value >= new_value; }
91- bool operator <=(T new_value) { return value <= new_value; }
92-
93- T operator +(T operation_value) { return value + operation_value; }
94- T operator -(T operation_value) { return value - operation_value; }
95- T operator *(T operation_value) { return value * operation_value; }
96- T operator /(T operation_value) { return value / operation_value; }
97- T operator %(T operation_value) { return value % operation_value; }
98-
99-
84+ SavedVar& operator =(T new_value) { Set (new_value); return *this ; }
85+
86+ bool operator ==(T new_value) { return Get () == new_value; }
87+ bool operator !=(T new_value) { return Get () != new_value; }
88+ bool operator >(T new_value) { return Get () > new_value; }
89+ bool operator <(T new_value) { return Get () < new_value; }
90+ bool operator >=(T new_value) { return Get () >= new_value; }
91+ bool operator <=(T new_value) { return Get () <= new_value; }
92+
93+ T operator +(T operation_value) { return Get () + operation_value; }
94+ T operator -(T operation_value) { return Get () - operation_value; }
95+ T operator *(T operation_value) { return Get () * operation_value; }
96+ T operator /(T operation_value) { return Get () / operation_value; }
97+ T operator %(T operation_value) { return Get () % operation_value; }
98+
99+
100+ T& operator +=(T operation_value) {
101+ Set (Get () + operation_value);
102+ return value;
103+ }
100104 T& operator -=(T operation_value) {
101- Set (value - operation_value);
102- return * value;
105+ Set (Get () - operation_value);
106+ return value;
103107 }
104108 T& operator *=(T operation_value) {
105- Set (value * operation_value);
106- return * value;
109+ Set (Get () * operation_value);
110+ return value;
107111 }
108112 T& operator /=(T operation_value) {
109- Set (value / operation_value);
110- return * value;
113+ Set (Get () / operation_value);
114+ return value;
111115 }
112116 T& operator %=(T operation_value) {
113- Set (value % operation_value);
114- return * value;
117+ Set (Get () % operation_value);
118+ return value;
115119 }
116120
117121 T& operator ++() {
118- Set (value + 1 );
119- return * value;
122+ Set (Get () + 1 );
123+ return value;
120124 };
121125 T operator ++(int ) {
122- T temp_value = value ;
123- Set (value + 1 );
126+ T temp_value = Get () ;
127+ Set (temp_value + 1 );
124128 return temp_value;
125129 };
126130
127131 T& operator --() {
128- Set (value + 1 );
129- return * value;
132+ Set (Get () - 1 );
133+ return value;
130134 };
131135
132136 T operator --(int ) {
133- T temp_value = value ;
134- Set (value - 1 );
137+ T temp_value = Get () ;
138+ Set (temp_value - 1 );
135139 return temp_value;
136140 };
137141
138142 T* operator &() { return &Get (); }
139143
140144 operator T () { return Get (); }
141- operator T*() { return &Get (); }
142145};
0 commit comments