21 #ifndef mia_3d_iterator_hh 22 #define mia_3d_iterator_hh 107 template <
typename AI>
118 template <
typename AI>
126 template <
typename AI>
147 template <
typename T>
friend 188 template <
typename I>
231 template <
typename AI>
235 template <
typename AI>
246 template <
typename AI>
255 template <
typename AI>
276 template <
typename T>
friend 293 const reference operator[] (
int i)
const;
311 template <
typename I>
312 template <
typename AI>
316 m_size = other.m_size;
317 m_begin = other.m_begin;
319 m_iterator = other.m_iterator;
320 m_xstride = other.m_xstride;
321 m_ystride = other.m_ystride;
325 template <
typename I>
326 template <
typename AI>
329 m_size(other.m_size),
330 m_begin(other.m_begin),
332 m_xstride(other.m_xstride),
333 m_ystride(other.m_ystride),
334 m_iterator(other.m_iterator)
338 template <
typename I>
342 return m_iterator[i];
349 template <
typename I>
357 return left.m_pos == right.m_pos;
364 template <
typename I>
374 template <
typename I>
375 template <
typename AI>
379 m_size = other.m_size;
380 m_begin = other.m_begin;
382 m_iterator = other.m_iterator;
383 m_xstride = other.m_xstride;
384 m_ystride = other.m_ystride;
385 m_boundary = other.m_boundary;
389 template <
typename I>
390 template <
typename AI>
393 m_size(other.m_size),
394 m_begin(other.m_begin),
396 m_xstride(other.m_xstride),
397 m_ystride(other.m_ystride),
398 m_iterator(other.m_iterator),
399 m_boundary(other.m_boundary)
407 template <
typename I>
415 return left.m_pos == right.m_pos;
422 template <
typename I>
432 template <
typename I>
442 template <
typename I>
range3d_iterator_with_boundary_flag()
const C3DBounds & pos() const
bool operator!=(const range3d_iterator< I > &a, const range3d_iterator< I > &b)
a 3D iterator that knows its position in the 3D grid ans supports iterating over sub-ranges ...
range3d_iterator< I > & operator=(const range3d_iterator< I > &other)
assignment operator
a 3D iterator that knows its position in the 3D grid, has a flag indicating whether it is on a bounda...
internal_iterator get_point()
const reference operator[](int i) const
I::pointer pointer
data type pointer
I::reference reference
data type reference
I internal_iterator
data type for the real iterator in the background
I::value_type value_type
data value type
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
I::value_type value_type
data value type
range3d_iterator_with_boundary_flag< I > & operator=(const range3d_iterator_with_boundary_flag< I > &other)
assignment operator
I::difference_type difference_type
pointer operator->() const
range3d_iterator_with_boundary_flag< I > & operator++()
prefix increment
I::reference reference
data type reference
bool operator==(const range3d_iterator< I > &left, const range3d_iterator< I > &right)
I::difference_type difference_type
I::pointer pointer
data type pointer
forward_iterator_tag iterator_category
forward_iterator_tag iterator_category
I internal_iterator
data type for the real iterator in the background
Matrix EXPORT_GSL operator*(const Matrix &lhs, const Matrix &rhs)
int get_boundary_flags() const
#define NS_MIA_END
conveniance define to end the mia namespace