Aboria::zip_iterator<std::tuple< Types...>, mpl_vector_type> — specialisation of zip_iterator for std::tuple
// In header: </home/travis/build/martinjrobins/Aboria/src/Get.h> template<typename mpl_vector_type, typename... Types> class zip_iterator<std::tuple< Types...>, mpl_vector_type> { public: // types typedef iterator_tuple_type tuple_type; typedef unspecified value_type; typedef unspecified reference; typedef unspecified difference_type; typedef unspecified iterator_category; typedef unspecified pointer; typedef unspecified getter_raw_pointer; typedef unspecified getter_raw_reference; typedef unspecified elem_by_type; // member classes/structs/unions template<typename T> struct return_type { // types typedef unspecified type; // public data members static const size_t N; }; // construct/copy/destruct zip_iterator(); explicit zip_iterator(iterator_tuple_type); template<typename... T> explicit zip_iterator(T...); // public member functions const iterator_tuple_type & get_tuple() const; iterator_tuple_type & get_tuple(); // private member functions void increment(); void decrement(); bool equal(zip_iterator const &) const; reference dereference() const; difference_type distance_to(zip_iterator const &) const; void advance(difference_type); };
Use host only code in this specialisation
zip_iterator
private member functionsvoid increment();
void decrement();
bool equal(zip_iterator const & other) const;
reference dereference() const;
difference_type distance_to(zip_iterator const & other) const;
void advance(difference_type n);