21 #ifndef gslpp_iterator_hh 22 #define gslpp_iterator_hh 52 m_current += m_stride;
64 m_current -= m_stride;
75 m_current += dist * m_stride;
80 m_current -= dist * m_stride;
85 return m_current[idx * m_stride];
89 assert(m_stride == other.m_stride);
90 return (m_current - other.m_current) / m_stride;
94 assert(m_stride == other.m_stride);
95 return m_current == other.m_current;
99 assert(m_stride == other.m_stride);
100 return m_current != other.m_current;
104 assert(m_stride == other.m_stride);
105 return m_current < other.m_current;
109 assert(m_stride == other.m_stride);
110 return m_current <= other.m_current;
114 assert(m_stride == other.m_stride);
115 return m_current > other.m_current;
119 assert(m_stride == other.m_stride);
120 return m_current >= other.m_current;
161 m_current(base), m_stride(stride)
168 m_current(other.m_current),
169 m_stride(other.m_stride)
188 m_current += m_stride;
199 m_current -= m_stride;
210 m_current += dist * m_stride;
215 m_current -= dist * m_stride;
220 assert(m_stride == other.m_stride);
221 return (m_current - other.m_current) / m_stride;
225 return m_current[idx * m_stride];
229 assert(m_stride == other.m_stride);
230 return m_current == other.m_current;
234 assert(m_stride == other.m_stride);
235 return m_current != other.m_current;
239 assert(m_stride == other.m_stride);
240 return m_current < other.m_current;
244 assert(m_stride == other.m_stride);
245 return m_current <= other.m_current;
249 assert(m_stride == other.m_stride);
250 return m_current > other.m_current;
254 assert(m_stride == other.m_stride);
255 return m_current >= other.m_current;
260 const double* m_current;
bool operator!=(const vector_iterator &other) const
vector_iterator(double *base, int stride)
bool operator>(const vector_iterator &other) const
const_vector_iterator(const vector_iterator &other)
double & operator[](int idx)
vector_iterator & operator-=(int dist)
bool operator<(const vector_iterator &other) const
friend class const_vector_iterator
vector_iterator & operator--()
vector_iterator operator+(const vector_iterator &it, int dist)
vector_iterator & operator+=(int dist)
bool operator==(const vector_iterator &other) const
vector_iterator & operator++()
random_access_iterator_tag iterator_category
bool operator>=(const vector_iterator &other) const
difference_type operator-(const vector_iterator &other)
random_access_iterator_tag iterator_category
const_vector_iterator(const double *base, int stride)
bool operator<=(const vector_iterator &other) const