为什么和下面的例子type
不一样expected
?
using origin = boost::fusion::map<
boost::fusion::pair<int, int>
>;
using expected = boost::fusion::map<
boost::fusion::pair<int, int>
,boost::fusion::pair<char, char>
>;
using type = boost::fusion::result_of::push_back<
origin
,boost::fusion::pair<char, char>
>::type;
static_assert(std::is_same<expected, type>::value, "error!");
expected
第二个问题是,我怎样才能得到与使用时相同的类型result_of::push_back<>::type
?