74class AccResult:
public AccResultInfo {
78 AccResult(
Compute*c):AccResultInfo(c) {};
79 AccResult(
const AccResult<T> &r,
Compute*c):AccResultInfo(c)
80 { _result=r._result; }
81 operator T&() { update();
return _result; };
82 T* operator ->() { update();
return &_result; };
83 T& result() { update();
return _result; };
84 T& result_noupdate() {
return _result; };
85 const T& result_noupdate()
const {
return _result; };
86 void operator=(
const T& a) { _result = a; }
87 void operator=(
const AccResult<T> &r)
88 { AccResultInfo::operator=(r); _result = r._result; };
90 AccResultInfo::restore_state(s);
94 AccResultInfo::save_data_state(s);
102class SSAccResult:
public AccResultInfo {
106 SSAccResult(
Compute*c):AccResultInfo(c) {};
107 SSAccResult(
const SSAccResult<T> &r,
Compute*c):AccResultInfo(c)
108 { _result=r._result; }
109 operator T&() { update();
return _result; };
110 T* operator ->() { update();
return &_result; };
111 T& result() { update();
return _result; };
112 T& result_noupdate() {
return _result; };
113 const T& result_noupdate()
const {
return _result; };
114 void operator=(
const T& a) { _result = a; }
115 void operator=(
const SSAccResult<T> &r)
116 { AccResultInfo::operator=(r); _result = r._result; };
117 void restore_state(
StateIn&s) {
118 AccResultInfo::restore_state(s);
119 _result.restore_state(s);
123 AccResultInfo::save_data_state(s);
124 _result.save_data_state(s);
126 SSAccResult(
StateIn&s,
Compute*c): AccResultInfo(s,c), _result(s) {}