Boost logo

Boost Users :

Subject: [Boost-users] [Accumulators] Compiler error when compiling examples: extractor.hpp:36:74: error: no type named 'result_type' in 'boost::fusion::void_'
From: Bernhard Wagner (me_at_[hidden])
Date: 2015-09-09 12:10:57


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;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net