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>