21 #ifndef mia_2d_iterator_hh 22 #define mia_2d_iterator_hh 100 template <
typename AI>
110 template <
typename AI>
119 template <
typename AI>
140 template <
typename T>
friend 144 template <
typename T>
friend 173 template <
typename I>
174 template <
typename AI>
178 m_size = other.m_size;
179 m_begin = other.m_begin;
181 m_iterator = other.m_iterator;
182 m_xstride = other.m_xstride;
183 m_boundary = other.m_boundary;
187 template <
typename I>
188 template <
typename AI>
191 m_size(other.m_size),
192 m_begin(other.m_begin),
194 m_xstride(other.m_xstride),
195 m_iterator(other.m_iterator),
196 m_boundary(other.m_boundary)
200 template <
typename T>
203 return left.m_pos == right.m_pos;
206 template <
typename T>
209 return left.m_pos != right.m_pos;
213 template <
typename I>
254 template <
typename AI>
264 template <
typename AI>
273 template <
typename AI>
294 template <
typename T>
friend 326 template <
typename I>
327 template <
typename AI>
331 m_size = other.m_size;
332 m_begin = other.m_begin;
334 m_iterator = other.m_iterator;
335 m_xstride = other.m_xstride;
339 template <
typename I>
340 template <
typename AI>
343 m_size(other.m_size),
344 m_begin(other.m_begin),
346 m_xstride(other.m_xstride),
347 m_iterator(other.m_iterator)
358 template <
typename I>
366 return left.m_pos == right.m_pos;
373 template <
typename I>
379 template <
typename I>
383 return m_iterator[i];
392 template <
typename I>
402 template <
typename I>
I::reference reference
data type reference
I::pointer pointer
data type pointer
range2d_iterator_with_boundary_flag()
I::pointer pointer
data type pointer
I internal_iterator
data type for the real iterator in the background
const C2DBounds & pos() const
const reference operator[](int i) const
forward_iterator_tag iterator_category
a 2D iterator that knows its position in the 2D grid ans supports iterating over sub-ranges ...
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
bool operator!=(const range2d_iterator_with_boundary_flag< T > &left, const range2d_iterator_with_boundary_flag< T > &right)
range2d_iterator_with_boundary_flag< I > & operator=(const range2d_iterator_with_boundary_flag< I > &other)
assignment operator
bool operator==(const range2d_iterator_with_boundary_flag< T > &left, const range2d_iterator_with_boundary_flag< T > &right)
I::difference_type difference_type
pointer operator->() const
I internal_iterator
data type for the real iterator in the background
int get_boundary_flags() const
range2d_iterator_with_boundary_flag< I > & operator++()
prefix increment
forward_iterator_tag iterator_category
I::reference reference
data type reference
reference operator*() const
range2d_iterator< I > & operator=(const range2d_iterator< I > &other)
assignment operator
internal_iterator get_point()
Matrix EXPORT_GSL operator*(const Matrix &lhs, const Matrix &rhs)
I::difference_type difference_type
range2d_iterator_with_boundary_flag< I > with_boundary_flag() const
#define NS_MIA_END
conveniance define to end the mia namespace