I'm painfully trying to learn boost fusion and I dont understand clearly the differences between zip_view and the result of zip function.
namespace fuz = boost::fusion;
typedef fuz::vector<int,int> vec1;
typedef fuz::vector<char,char> vec2;
typedef fuz::vector<vec1&, vec2&> sequences;
typedef fuz::zip_view<sequences> zip_view_type;
typedef fuz::result_of::zip<vec1, vec2>::type zip_result_type;
BOOST_MPL_ASSERT((boost::is_same<zip_view_type, zip_result_type>));
I expected the two types to be the same, but they are not. Why?
zip_view and zip function seems to be very closely related but I dont see when / why using the view instead of the function.