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
307 template <
typename I>
308 template <
typename AI>
312 m_size = other.m_size;
313 m_begin = other.m_begin;
315 m_iterator = other.m_iterator;
316 m_xstride = other.m_xstride;
317 m_ystride = other.m_ystride;
321 template <
typename I>
322 template <
typename AI>
325 m_size(other.m_size),
326 m_begin(other.m_begin),
328 m_xstride(other.m_xstride),
329 m_ystride(other.m_ystride),
330 m_iterator(other.m_iterator)
339 template <
typename I>
347 return left.m_pos == right.m_pos;
354 template <
typename I>
364 template <
typename I>
365 template <
typename AI>
369 m_size = other.m_size;
370 m_begin = other.m_begin;
372 m_iterator = other.m_iterator;
373 m_xstride = other.m_xstride;
374 m_ystride = other.m_ystride;
375 m_boundary = other.m_boundary;
379 template <
typename I>
380 template <
typename AI>
383 m_size(other.m_size),
384 m_begin(other.m_begin),
386 m_xstride(other.m_xstride),
387 m_ystride(other.m_ystride),
388 m_iterator(other.m_iterator),
389 m_boundary(other.m_boundary)
397 template <
typename I>
405 return left.m_pos == right.m_pos;
412 template <
typename I>
422 template <
typename I>
432 template <
typename I>
range3d_iterator_with_boundary_flag()
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()
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
range3d_iterator_with_boundary_flag< I > & operator++()
prefix increment
I::reference reference
data type reference
F operator*(const typename TSparseSolver< F >::A_mult_x &A, const F &x)
pointer operator->() const
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
int get_boundary_flags() const
const C3DBounds & pos() const
#define NS_MIA_END
conveniance define to end the mia namespace