This commit is contained in:
Hans Dembinski 2021-04-27 13:47:29 +02:00
parent b731ef252c
commit 34e11b787e
3 changed files with 6 additions and 6 deletions

View File

@ -30,7 +30,7 @@ public:
using value_type = ValueType;
using const_reference = const value_type&;
struct internal_data_type {
struct impl_type {
value_type sum_;
value_type mean_;
value_type sum_of_deltas_squared_;
@ -152,9 +152,9 @@ public:
}
private:
friend struct unsafe_access;
impl_type data_{0, 0, 0};
internal_data_type data_{0, 0, 0};
friend struct unsafe_access;
};
} // namespace accumulators

View File

@ -116,8 +116,8 @@ struct unsafe_access {
@param obj instance of accumulator.
*/
template <class T>
static constexpr auto& accumulators_mean_impl(T&& m) {
return m.data_;
static constexpr auto& accumulators_mean_impl(T& m) {
return reinterpret_cast<typename T::impl_type&>(m);
}
};

View File

@ -118,7 +118,7 @@ int main() {
a(2);
BOOST_TEST_EQ(a.count(), 2);
unsafe_access::accumulators_mean(a).sum_ = 1;
unsafe_access::accumulators_mean_impl(a).sum_ = 1;
BOOST_TEST_EQ(a.count(), 1);
}