fusion::vector
を生成する方法mpl::vector
から? 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
メタ関数を必要としています。 私自身のメタ機能を書くことはできますが、それらはすでに存在すると思われます。
私は前に助けresult_of::as_map
でfusion::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
私は何が起こっているか理解していませんか?
ましたあなたはmpl :: vectorと同じ型の融合:: vectorの型を計算する必要がありますか(mpl :: vectorsは型だけで値ではありません)、またはmpl :: vector_cを意味しましたか? –
タイプを計算したいと思います。 – Andreo