Hi,
I would need this:
// a)
typedef fusion::vector<...> input0_type;
typedef mpl::transform(
input0_type,
F0
)::type result0_type;
//b)
typedef fusion::vector<...> resul1_type;
result1_type result1 = fusion::transform(
result0_type(),
f1
);
Of course a) is not allowed, but I guess I can do:
// a)
typedef mpl::vector<...> mpl_input0_type; //same elements as input0_type
typedef mpl::transform(
mpl_input0_type,
F0
)::type mpl_result0_type;
//b)
#include
#include
typedef fusion::vector<...> resul1_type;
result1_type result1 = fusion::transform(
mpl_result0_type(),//?
f1
);
in my case, result1_type = input0_type. So I have to define input0_type
and mpl_input0_type separately although they convey the same
information. i'd like to get rid of this redundancy.
I wished there existed a metafun fusion_to_mpl such that
MPL_ASSERT((is_same::type,mpl_input0_type>))
so that the 1st version of a) could be replaced by
typedef mpl::transform(
fusion_to_mpl::type,
F0
)::type mpl_result0_type;
and keep the second version of b)
any help appreciated.
thanks!