Aboria::zip_pointer<thrust::tuple< TT1, TT2, TT3, TT4, TT5, TT6, TT7, TT8, TT9 >, MplVector> — specialisation of zip_pointer for thrust::tuple
// In header: </home/travis/build/martinjrobins/Aboria/src/Get.h> template<typename MplVector, typename TT1, typename TT2, typename TT3, typename TT4, typename TT5, typename TT6, typename TT7, typename TT8, typename TT9> struct zip_pointer<thrust::tuple< TT1, TT2, TT3, TT4, TT5, TT6, TT7, TT8, TT9 >, MplVector> { // types typedef thrust::tuple< TT1, TT2, TT3, TT4, TT5, TT6, TT7, TT8, TT9 > tuple_type; typedef MplVector mpl_vector_type; typedef unspecified elem_by_type; typedef unspecified return_type; typedef unspecified reference; typedef unspecified difference_type; typedef unspecified index_type; // construct/copy/destruct zip_pointer(); explicit zip_pointer(const tuple_type &); zip_pointer(const zip_pointer &); zip_pointer(zip_pointer &&); template<typename tuple_type2, typename = typename std::enable_if< std::is_convertible<tuple_type2, tuple_type>::value>::type> zip_pointer(const zip_pointer< tuple_type2, mpl_vector_type > &); template<typename tuple_type2, typename = typename std::enable_if< std::is_convertible<tuple_type2, tuple_type>::value>::type> zip_pointer(const zip_pointer< tuple_type2, mpl_vector_type > &&); template<typename T1, typename T2, typename... T3> zip_pointer(T1 &&, T2 &&, T3 &&...); zip_pointer& operator=(const zip_pointer &); zip_pointer& operator=(zip_pointer &&); template<typename T1, typename T2> zip_pointer& operator=(const zip_pointer< T1, T2 > &); template<typename T1, typename T2> zip_pointer& operator=(zip_pointer< T1, T2 > &&); // public member functions void swap(zip_pointer &); const tuple_type & get_tuple() const; tuple_type & get_tuple(); bool operator==(const zip_pointer &) const; zip_pointer & operator++(); zip_pointer operator++(int); zip_pointer operator+(const difference_type &) const; zip_pointer & operator+=(const difference_type &); zip_pointer operator-(const difference_type &) const; difference_type operator-(const zip_pointer &) const; zip_pointer & operator--(); zip_pointer operator--(int); bool operator<(const zip_pointer &) const; bool operator<=(const zip_pointer &) const; bool operator>(const zip_pointer &) const; bool operator>=(const zip_pointer &) const; reference operator*() const; void increment(); void decrement(); bool equal(zip_pointer const &) const; reference dereference() const; difference_type distance_to(zip_pointer const &) const; void advance(difference_type); // public data members tuple_type data; };
Use device only code in this specialisation
zip_pointer
public
construct/copy/destructzip_pointer();
explicit zip_pointer(const tuple_type & data);
zip_pointer(const zip_pointer & other);
zip_pointer(zip_pointer && other);
template<typename tuple_type2, typename = typename std::enable_if< std::is_convertible<tuple_type2, tuple_type>::value>::type> zip_pointer(const zip_pointer< tuple_type2, mpl_vector_type > & other);
template<typename tuple_type2, typename = typename std::enable_if< std::is_convertible<tuple_type2, tuple_type>::value>::type> zip_pointer(const zip_pointer< tuple_type2, mpl_vector_type > && other);
template<typename T1, typename T2, typename... T3> zip_pointer(T1 && arg1, T2 && arg2, T3 &&... args);
zip_pointer& operator=(const zip_pointer & other);
zip_pointer& operator=(zip_pointer && other);
template<typename T1, typename T2> zip_pointer& operator=(const zip_pointer< T1, T2 > & other);
template<typename T1, typename T2> zip_pointer& operator=(zip_pointer< T1, T2 > && other);
zip_pointer
public member functionsvoid swap(zip_pointer & other);
const tuple_type & get_tuple() const;
tuple_type & get_tuple();
bool operator==(const zip_pointer & other) const;
zip_pointer & operator++();
zip_pointer operator++(int);
zip_pointer operator+(const difference_type & n) const;
zip_pointer & operator+=(const difference_type & n);
zip_pointer operator-(const difference_type & n) const;
difference_type operator-(const zip_pointer & other) const;
zip_pointer & operator--();
zip_pointer operator--(int);
bool operator<(const zip_pointer & other) const;
bool operator<=(const zip_pointer & other) const;
bool operator>(const zip_pointer & other) const;
bool operator>=(const zip_pointer & other) const;
reference operator*() const;
void increment();
void decrement();
bool equal(zip_pointer const & other) const;
reference dereference() const;
difference_type distance_to(zip_pointer const & other) const;
void advance(difference_type n);