
When compiling: #include <boost/accumulators/framework/accumulator_set.hpp> #include <boost/accumulators/statistics/covariance.hpp> #include <boost/accumulators/statistics/variates/covariate.hpp> #include <boost/test/unit_test.hpp> #include <boost/test/floating_point_comparison.hpp> using namespace boost::accumulators; int main() { accumulator_set<double, stats<tag::covariance<double, tag::covariate1> > > acc; acc(1., covariate1 = 2.); acc(1., covariate1 = 4.); acc(2., covariate1 = 3.); acc(6., covariate1 = 1.); assert(covariance(acc) == -1.75); } using: clang++ -std=c++11 -stdlib=libc++ -Weverything accum_covariance.cpp -L /usr/local/Cellar/boost/1.55.0_2/lib/ -l boost_unit_test_framework (on OSX 10.8.5) I get following error. Same error when I try using rolling_sum or rolling_mean. In file included from accum_covariance.cpp:1: In file included from /usr/local/include/boost/accumulators/framework/accumulator_set.hpp:27: In file included from /usr/local/include/boost/accumulators/framework/accumulators/external_accumulator.hpp:13: /usr/local/include/boost/accumulators/framework/extractor.hpp:36:74: error: no type named 'result_type' in 'boost::fusion::void_' typedef typename mpl::apply<AccumulatorSet, feature_type>::type::result_type type; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~