Thanks! It really helps!
Zitat von sergey kostanbaev <sergey.kostanbaev@gmail.com>:template<typename T>
template <class T, unsigned space=1> struct tr_field2
{
static const unsigned count = space;
}
typedef boost::mpl::vector4<
tr_field2<int, 4>,
tr_field2<int, 7>,
tr_field2<char, 1>,
tr_field2<char, 1>
Test_description;
I want to calculate a sum of all tr_field2::count
I've read in the docs mpl::fold is for the case.
I tried to compose
typedef boost::mpl::fold<Test_description,
boost::mpl::int_<0>,
boost::mpl::plus<boost::mpl::_, boost::mpl::_::count > >
>::type fcount;
but it won't compile. It seems I misundestood something.
struct get_count{
typedef mpl::int_<T::count> type;boost::mpl::plus<boost::mpl::_1, get_count<mpl::_2> >
};
typedef boost::mpl::fold<Test_description,
boost::mpl::int_<0>,
::type fcount;
the placeholders are not evaluated by mpl::_::count.
and mpl::plus expects a mpl integral constant, not a value.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users