template struct int_value //values stored in tuple { int_value(void) : value(Value) {} int const value; }; #define USE_LIB_SLIM #ifdef USE_LIB_SLIM #include #include #include namespace lib_container=slim; #else #include #include namespace lib_container=boost::fusion; #endif #include "./tuple.benchmark.simple.hpp" struct summer { typedef int result_type; template result_type operator()(result_type const& total, T const&summand) { return total+summand.value; } }; int run(tuple_t const&a_tuple) { summer fun; int total=0; return lib_container::accumulate(a_tuple,total,fun); } #include int main() { tuple_t a_tuple; int result=run(a_tuple); #ifdef TUPLE_SIZE std::cout<<"TUPLE_SIZE="<