21 #ifndef mia_3d_iterator_hh
22 #define mia_3d_iterator_hh
108 template <
typename AI>
119 template <
typename AI>
127 template <
typename AI>
148 template <
typename T>
friend
189 template <
typename I>
233 template <
typename AI>
237 template <
typename AI>
248 template <
typename AI>
257 template <
typename AI>
278 template <
typename T>
friend
295 const reference operator[] (
int i)
const;
313 template <
typename I>
314 template <
typename AI>
318 m_size = other.m_size;
319 m_begin = other.m_begin;
321 m_iterator = other.m_iterator;
322 m_xstride = other.m_xstride;
323 m_ystride = other.m_ystride;
327 template <
typename I>
328 template <
typename AI>
331 m_size(other.m_size),
332 m_begin(other.m_begin),
334 m_xstride(other.m_xstride),
335 m_ystride(other.m_ystride),
336 m_iterator(other.m_iterator)
340 template <
typename I>
344 return m_iterator[i];
351 template <
typename I>
358 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>
414 return left.m_pos == right.m_pos;
420 template <
typename I>
431 template <
typename I>
442 template <
typename I>