#include #include #include #include #include struct identity { template struct result; template struct result { typedef T type; }; template T& operator()(T& val) const { return val; } template T const& operator()(T const& val) const { return val; } }; int main() { { typedef boost::fusion::vector from_t; from_t from; boost::fusion::transform_view v(from, ::identity()); boost::fusion::as_vector(v); } { typedef boost::mpl::vector from_t; from_t from; boost::fusion::transform_view v(from, ::identity()); boost::fusion::as_vector(v); } }