Aboria

PrevUpHomeNext

Class template zip_iterator<std::tuple< Types...>, mpl_vector_type>

Aboria::zip_iterator<std::tuple< Types...>, mpl_vector_type> — specialisation of zip_iterator for std::tuple

Synopsis

// 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);
};

Description

Use host only code in this specialisation

zip_iterator public construct/copy/destruct

  1. zip_iterator();
  2. explicit zip_iterator(iterator_tuple_type iter);
  3. template<typename... T> explicit zip_iterator(T... args);

zip_iterator public member functions

  1. const iterator_tuple_type & get_tuple() const;
  2. iterator_tuple_type & get_tuple();

zip_iterator private member functions

  1. void increment();
  2. void decrement();
  3. bool equal(zip_iterator const & other) const;
  4. reference dereference() const;
  5. difference_type distance_to(zip_iterator const & other) const;
  6. void advance(difference_type n);

PrevUpHomeNext