28 #include <util/misc/compute.h>
43 { _result=r._result; }
44 operator T&() { update();
return _result; };
45 T* operator ->() { update();
return &_result; };
46 T& result() { update();
return _result; };
47 T& result_noupdate() {
return _result; };
48 const T& result_noupdate()
const {
return _result; };
49 void operator=(
const T& a) { _result = a; }
51 { ResultInfo::operator=(r); _result = r._result; };
54 #if __cplusplus > 199711L
55 template <
typename In>
56 auto operator()(In i)
const -> decltype(_result(i)) {
59 template <
typename In>
60 auto operator()(In i) -> decltype(_result(i)) {
75 { _result=r._result; }
76 operator T&() { update();
return _result; };
77 T& result() { update();
return _result; };
78 T& result_noupdate() {
return _result; };
79 const T& result_noupdate()
const {
return _result; };
80 void operator=(
const T& a) { _result = a; }
82 { ResultInfo::operator=(r); _result = r._result; };
94 { _result=r._result; }
95 operator T&() { update();
return _result; };
96 T* operator ->() { update();
return &_result; };
97 T& result() { update();
return _result; };
98 T& result_noupdate() {
return _result; };
99 const T& result_noupdate()
const {
return _result; };
100 void operator=(
const T& a) { _result = a; }
102 { AccResultInfo::operator=(r); _result = r._result; };
103 void restore_state(
StateIn&s) {
104 AccResultInfo::restore_state(s);
108 AccResultInfo::save_data_state(s);
113 #if __cplusplus > 199711L
114 template <
typename In>
115 auto operator()(In i)
const -> decltype(_result(i)) {
118 template <
typename In>
119 auto operator()(In i) -> decltype(_result(i)) {
134 { _result=r._result; }
135 operator T&() { update();
return _result; };
136 T* operator ->() { update();
return &_result; };
137 T& result() { update();
return _result; };
138 T& result_noupdate() {
return _result; };
139 const T& result_noupdate()
const {
return _result; };
140 void operator=(
const T& a) { _result = a; }
142 { AccResultInfo::operator=(r); _result = r._result; };
143 void restore_state(
StateIn&s) {
144 AccResultInfo::restore_state(s);
145 _result.restore_state(s);
149 AccResultInfo::save_data_state(s);
150 _result.save_data_state(s);
163 { _result=r._result; }
164 operator T&() { update();
return _result; };
165 T& result() { update();
return _result; };
166 T& result_noupdate() {
return _result; };
167 const T& result_noupdate()
const {
return _result; };
168 void operator=(
const T& a) { _result = a; }
170 { AccResultInfo::operator=(r); _result = r._result; };
171 void restore_state(
StateIn&s) {
172 AccResultInfo::restore_state(s);
177 AccResultInfo::save_data_state(s);