a 3D iterator that knows its position in the 3D grid ans supports iterating over sub-ranges More...
#include <mia/3d/iterator.hh>
Inherits forward_iterator_tag.
Public Types | |
| typedef I | internal_iterator |
| data type for the real iterator in the background More... | |
| typedef I::pointer | pointer |
| data type pointer More... | |
| typedef I::reference | reference |
| data type reference More... | |
| typedef I::value_type | value_type |
| data value type More... | |
Public Member Functions | |
| internal_iterator | get_point () |
| reference | operator* () const |
| range3d_iterator< I > & | operator++ () |
| prefix increment More... | |
| range3d_iterator< I > | operator++ (int) |
| postfix increment More... | |
| pointer | operator-> () const |
| range3d_iterator< I > & | operator= (const range3d_iterator< I > &other) |
| assignment operator More... | |
| template<typename AI > | |
| range3d_iterator< I > & | operator= (const range3d_iterator< AI > &other) |
| const reference | operator[] (int i) const |
| const C3DBounds & | pos () const |
| range3d_iterator () | |
| range3d_iterator (const C3DBounds &pos, const C3DBounds &size, const C3DBounds &start, const C3DBounds &end, I iterator) | |
| range3d_iterator (const C3DBounds &pos) | |
| range3d_iterator (const range3d_iterator< I > &other) | |
| copy constructore More... | |
| template<typename AI > | |
| range3d_iterator (const range3d_iterator< AI > &other) | |
| range3d_iterator_with_boundary_flag< I > | with_boundary_flag () const |
Friends | |
| template<typename AI > | |
| class | range3d_iterator |
| friend iterator type because we may want to copy a iterator to a const_iterator. More... | |
| template<typename AI > | |
| class | range3d_iterator_with_boundary_flag |
| friend iterator type because we may want to copy a iterator to a const_iterator. More... | |
a 3D iterator that knows its position in the 3D grid ans supports iterating over sub-ranges
Iterator to iterate over a sub-range of 3D data that is given on a grid. Two iterators are considered to be equal, if their positions are equal.
| the | internal iterator that is used to iterate of the original grid without skipping. |
Definition at line 189 of file 3d/iterator.hh.
| typedef I range3d_iterator< I >::internal_iterator |
data type for the real iterator in the background
Definition at line 200 of file 3d/iterator.hh.
| typedef I::pointer range3d_iterator< I >::pointer |
data type pointer
Definition at line 194 of file 3d/iterator.hh.
| typedef I::reference range3d_iterator< I >::reference |
data type reference
Definition at line 192 of file 3d/iterator.hh.
| typedef I::value_type range3d_iterator< I >::value_type |
data value type
Definition at line 197 of file 3d/iterator.hh.
| range3d_iterator< I >::range3d_iterator | ( | ) |
standard constructor
| range3d_iterator< I >::range3d_iterator | ( | const C3DBounds & | pos, |
| const C3DBounds & | size, | ||
| const C3DBounds & | start, | ||
| const C3DBounds & | end, | ||
| I | iterator | ||
| ) |
Full constructor of the range iterator
| pos | iterator position to initialize the iterator with |
| size | size of the original data field |
| start | start of the iterator range |
| end | end of the iterator range |
| iterator | the iterator of the underlying 3D data structure |
| range3d_iterator< I >::range3d_iterator | ( | const C3DBounds & | pos | ) |
End iterator, can't be dereferenced This iterator is only there to define the end position of the range_iterator.
| pos | end position to set this iterator to. |
| range3d_iterator< I >::range3d_iterator | ( | const range3d_iterator< I > & | other | ) |
copy constructore
| range3d_iterator< I >::range3d_iterator | ( | const range3d_iterator< AI > & | other | ) |
Constructor to construct the iterator from one that is based on another iterator type. The usual idea is that a iterator may be converted into it's const variant.
| AI | the other iterator type. Iterator type I must be copy-constructable from type AI |
| other |
Definition at line 327 of file 3d/iterator.hh.
| internal_iterator range3d_iterator< I >::get_point | ( | ) |
| reference range3d_iterator< I >::operator* | ( | ) | const |
| range3d_iterator<I>& range3d_iterator< I >::operator++ | ( | ) |
prefix increment
| range3d_iterator<I> range3d_iterator< I >::operator++ | ( | int | ) |
postfix increment
| pointer range3d_iterator< I >::operator-> | ( | ) | const |
| range3d_iterator<I>& range3d_iterator< I >::operator= | ( | const range3d_iterator< I > & | other | ) |
assignment operator
| range3d_iterator< I > & range3d_iterator< I >::operator= | ( | const range3d_iterator< AI > & | other | ) |
Assignment operator from another type of iterator
| AI | other iterator type. The assignment I b = a; with a of type AI must be defined. |
| other |
Definition at line 313 of file 3d/iterator.hh.
| const range3d_iterator< I >::reference range3d_iterator< I >::operator[] | ( | int | i | ) | const |
access elements relative to the iterator position
Definition at line 340 of file 3d/iterator.hh.
| const C3DBounds& range3d_iterator< I >::pos | ( | ) | const |
| range3d_iterator_with_boundary_flag<I> range3d_iterator< I >::with_boundary_flag | ( | ) | const |
friend iterator type because we may want to copy a iterator to a const_iterator.
Definition at line 232 of file 3d/iterator.hh.
friend iterator type because we may want to copy a iterator to a const_iterator.
Definition at line 236 of file 3d/iterator.hh.