#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace boost::fusion; int main() { const boost::tuple tuple_vec(1,2); const vector fusion_vec(1,2); // example of insert_range: OK assert(insert_range(fusion_vec, next(begin(fusion_vec)), make_vector(3,4)) == make_vector(1,3,4,2)); // tuples accepted? OK std::cout<< traits::is_sequence< boost::tuple >::type::value << std::endl; assert( size(tuple_vec) == 2 ); // example of insert_range with tuple: compiler error assert( insert_range(tuple_vec, next(begin(tuple_vec)), boost::make_tuple(3,4)) == boost::make_tuple(1,3,4,2) ); }