Как сгенерировать fusion::vector
из mpl::vector
?
Как сгенерировать mpl::vector
из fusion::vector
?
BOOST_MPL_ASSERT((is_same<
fusion::vector<int, char>,
generate_fusion_vector<mpl::vector<int, char> >::type >));
BOOST_MPL_ASSERT((is_same<
mpl::vector<int, char>,
generate_mpl_vector<fusion::vector<int, char> >::type >));
Мне нужны метафункции generate_fusion_vector
и generate_mpl_vector
.
Я могу написать свои собственные метафункции, но я подозреваю, что они уже существуют.
Раньше у меня был опыт генерации fusion::map
с помощью result_of::as_map
, но в текущем бусте (транк тоже 1.39) возникает такая ошибка:
D:\Libraries\boost_trunk\boost/fusion/sequence/intrinsic/size.hpp(56) : error C2903: 'apply' : symbol is neither a class template nor a function template
D:\Libraries\boost_trunk\boost/fusion/container/vector/convert.hpp(23) : see reference to class template instantiation 'boost::fusion::result_of::size' being compiled
with
[
Sequence=boost::mpl::vector
]
temp.cpp(71) : see reference to class template instantiation 'boost::fusion::result_of::as_vector' being compiled
Я не понимаю, что происходит?