SLIP
1.4
|
This is some iterator to iterate a 4d container into two Range defined by the indices and strides of the 4d container. More...
#include <iterator4d_range.hpp>
Public Types | |
typedef std::random_access_iterator4d_tag | iterator_category |
typedef Container4D::value_type | value_type |
typedef DPoint4d< int > | difference_type |
typedef slip::DPoint3d< int > | diff3d |
typedef slip::DPoint2d< int > | diff2d |
typedef Container4D::pointer | pointer |
typedef Container4D::reference | reference |
typedef iterator4d_range | self |
typedef Container4D::size_type | size_type |
Public Member Functions | |
reference | operator* () |
Dereference assignment operator. Returns the element that the current iterator4d_range i point to. More... | |
pointer | operator-> () |
Constructors & Destructors | |
iterator4d_range () | |
Constructs a iterator4d_range. More... | |
iterator4d_range (Container4D *c, const slip::Range< int > &r1, const slip::Range< int > &r2, const slip::Range< int > &r3, const slip::Range< int > &r4) | |
Constructs a iterator4d_range. More... | |
iterator4d_range (const self &o) | |
Constructs a copy of the iterator4d_range o. More... | |
Assignment operators and methods | |
self & | operator= (const self &o) |
Assign a iterator4d_range. More... | |
Forward operators addons | |
self & | operator++ () |
Preincrement a iterator4d_range. Iterate to the next location inside the Range. More... | |
self | operator++ (int) |
Postincrement a iterator4d_range. Iterate to the next location inside the Range4d. More... | |
Bidirectional operators addons | |
self & | operator-- () |
Predecrement a iterator4d_range. Iterate to the previous location inside the Range4d. More... | |
self | operator-- (int) |
Postdecrement a iterator4d_range. Iterate to the previous location inside the Range4d. More... | |
slab, slice, row and col iterators accessors | |
Container4D::slab_range_iterator | slab_begin (size_type slice, size_type row, size_type col) |
iterator4d_range element assignment operator. More... | |
Container4D::slab_range_iterator | slab_end (size_type slice, size_type row, size_type col) |
iterator4d_range element assignment operator. More... | |
Container4D::slice_range_iterator | slice_begin (size_type slab, size_type row, size_type col) |
iterator4d_range element assignment operator. More... | |
Container4D::slice_range_iterator | slice_end (size_type slab, size_type row, size_type col) |
iterator4d_range element assignment operator. More... | |
Container4D::row_range_iterator | row_begin (size_type slab, size_type slice, size_type row) |
iterator4d_range element assignment operator. More... | |
Container4D::row_range_iterator | row_end (size_type slab, size_type slice, size_type row) |
iterator4d_range element assignment operator. More... | |
Container4D::col_range_iterator | col_begin (size_type slab, size_type slice, size_type col) |
iterator4d_range element assignment operator. More... | |
Container4D::col_range_iterator | col_end (size_type slab, size_type slice, size_type col) |
iterator4d_range element assignment operator. More... | |
Subscripts accessors | |
int | x1 () const |
Access to the first subscript of the current iterator4d_range. More... | |
int | t () const |
Access to the first subscript of the current iterator4d_range. More... | |
int | x2 () const |
Access to the second subscript of the current iterator4d_range. More... | |
int | k () const |
Access to the second subscript of the current iterator4d_range. More... | |
int | x3 () const |
Access to the third subscript of the current iterator4d_range. More... | |
int | i () const |
Access to the third subscript of the current iterator4d_range. More... | |
int | x4 () const |
Access to the fourth subscript of the current iterator4d_range. More... | |
int | j () const |
Access to the fourth subscript of the current iterator4d_range. More... | |
Friends | |
Equality comparable operators | |
bool | operator== (const self &i1, const self &i2) |
Equality operator. More... | |
bool | operator!= (const self &i1, const self &i2) |
Inequality operator. More... | |
Strict Weakly comparable operators | |
bool | operator< (const self &i1, const self &i2) |
< operator. More... | |
bool | operator> (const self &i1, const self &i2) |
More... | |
bool | operator<= (const self &i1, const self &i2) |
<= operator. More... | |
bool | operator>= (const self &i1, const self &i2) |
>= operator. More... | |
iterator4d_range operators addons | |
self & | operator+= (const difference_type &d) |
iterator4d_range addition. More... | |
self & | operator-= (const difference_type &d) |
iterator4d_range substraction. More... | |
self | operator+ (const difference_type &d) |
iterator4d_range addition. More... | |
self | operator- (const difference_type &d) |
iterator4d_range substraction. More... | |
reference | operator[] (difference_type d) |
iterator4d_range element assignment operator. Equivalent to *(k + d) = t. More... | |
pointer | operator[] (diff3d d) |
iterator4d_range element assignment operator. Equivalent to *(k + d) = t. More... | |
pointer | operator[] (diff2d d) |
iterator4d_range element assignment operator. Equivalent to *(k + d) = t. More... | |
pointer * | operator[] (int n) |
iterator4d_range element assignment operator. Equivalent to *(k + n) = t. More... | |
difference_type | operator- (const self &i1, const self &i2) |
iterator4d_range difference operator. More... | |
This is some iterator to iterate a 4d container into two Range defined by the indices and strides of the 4d container.
Container4D | Type of 4d container in the iterator4d_range |
Definition at line 112 of file iterator4d_range.hpp.
typedef slip::DPoint2d<int> slip::iterator4d_range< Container4D >::diff2d |
Definition at line 120 of file iterator4d_range.hpp.
typedef slip::DPoint3d<int> slip::iterator4d_range< Container4D >::diff3d |
Definition at line 119 of file iterator4d_range.hpp.
typedef DPoint4d<int> slip::iterator4d_range< Container4D >::difference_type |
Definition at line 118 of file iterator4d_range.hpp.
typedef std::random_access_iterator4d_tag slip::iterator4d_range< Container4D >::iterator_category |
Definition at line 116 of file iterator4d_range.hpp.
typedef Container4D::pointer slip::iterator4d_range< Container4D >::pointer |
Definition at line 121 of file iterator4d_range.hpp.
typedef Container4D::reference slip::iterator4d_range< Container4D >::reference |
Definition at line 122 of file iterator4d_range.hpp.
typedef iterator4d_range slip::iterator4d_range< Container4D >::self |
Definition at line 124 of file iterator4d_range.hpp.
typedef Container4D::size_type slip::iterator4d_range< Container4D >::size_type |
Definition at line 126 of file iterator4d_range.hpp.
typedef Container4D::value_type slip::iterator4d_range< Container4D >::value_type |
Definition at line 117 of file iterator4d_range.hpp.
|
inline |
Constructs a iterator4d_range.
Definition at line 136 of file iterator4d_range.hpp.
|
inline |
Constructs a iterator4d_range.
c | pointer to an existing 4d container |
r1 | Range<int> defining the range of indices of the first axis to iterate |
r2 | Range<int> defining the range of indices of the second axis to iterate |
r3 | Range<int> defining the range of indices of the third axis to iterate |
r4 | Range<int> defining the range of indices of the fourth axis to iterate |
Definition at line 153 of file iterator4d_range.hpp.
|
inline |
Constructs a copy of the iterator4d_range o.
o | iterator4d_range to copy. |
Definition at line 168 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator.
slab | slab offset. |
slice | slice offset. |
col | col offset. |
Definition at line 770 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator.
slab | slab offset. |
slice | slice offset. |
col | col offset. |
Definition at line 788 of file iterator4d_range.hpp.
|
inline |
Access to the third subscript of the current iterator4d_range.
Definition at line 850 of file iterator4d_range.hpp.
|
inline |
Access to the fourth subscript of the current iterator4d_range.
Definition at line 869 of file iterator4d_range.hpp.
|
inline |
Access to the second subscript of the current iterator4d_range.
Definition at line 831 of file iterator4d_range.hpp.
|
inline |
Dereference assignment operator. Returns the element that the current iterator4d_range i point to.
Definition at line 213 of file iterator4d_range.hpp.
|
inline |
iterator4d_range addition.
d | difference_type |
Definition at line 544 of file iterator4d_range.hpp.
|
inline |
Preincrement a iterator4d_range. Iterate to the next location inside the Range.
Definition at line 235 of file iterator4d_range.hpp.
|
inline |
Postincrement a iterator4d_range. Iterate to the next location inside the Range4d.
Definition at line 302 of file iterator4d_range.hpp.
|
inline |
iterator4d_range addition.
d | difference_type |
Definition at line 500 of file iterator4d_range.hpp.
|
inline |
iterator4d_range substraction.
d | difference_type |
Definition at line 559 of file iterator4d_range.hpp.
|
inline |
Predecrement a iterator4d_range. Iterate to the previous location inside the Range4d.
Definition at line 321 of file iterator4d_range.hpp.
|
inline |
Postdecrement a iterator4d_range. Iterate to the previous location inside the Range4d.
Definition at line 384 of file iterator4d_range.hpp.
|
inline |
iterator4d_range substraction.
d | difference_type |
Definition at line 522 of file iterator4d_range.hpp.
|
inline |
Definition at line 219 of file iterator4d_range.hpp.
|
inline |
Assign a iterator4d_range.
Assign elements of iterator4d_range in o.
o | iterator4d_range to get the values from. |
Definition at line 187 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator. Equivalent to *(k + d) = t.
d | difference_type. |
Definition at line 598 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator. Equivalent to *(k + d) = t.
d | 3d point offset for the dimensions 1,2 and 3. |
Definition at line 616 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator. Equivalent to *(k + d) = t.
d | 2d point offset for the dimensions 1 and 2. |
Definition at line 633 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator. Equivalent to *(k + n) = t.
n | offset for the first dimension. |
Definition at line 649 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator.
slab | slab offset. |
slice | slice offset. |
row | offset. |
Definition at line 737 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator.
slab | slab offset. |
slice | slice offset. |
row | offset. |
Definition at line 755 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator.
slice | slice offset. |
row | offset. |
col | offset. |
Definition at line 670 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator.
slice | slice offset. |
row | offset. |
col | offset. |
Definition at line 688 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator.
slab | slab offset. |
row | offset. |
col | offset. |
Definition at line 703 of file iterator4d_range.hpp.
|
inline |
iterator4d_range element assignment operator.
slab | slab offset. |
row | offset. |
col | offset. |
Definition at line 721 of file iterator4d_range.hpp.
|
inline |
Access to the first subscript of the current iterator4d_range.
Definition at line 813 of file iterator4d_range.hpp.
|
inline |
Access to the first subscript of the current iterator4d_range.
Definition at line 804 of file iterator4d_range.hpp.
|
inline |
Access to the second subscript of the current iterator4d_range.
Definition at line 822 of file iterator4d_range.hpp.
|
inline |
Access to the third subscript of the current iterator4d_range.
Definition at line 841 of file iterator4d_range.hpp.
|
inline |
Access to the fourth subscript of the current iterator4d_range.
Definition at line 860 of file iterator4d_range.hpp.
Inequality operator.
i1 | first iterator4d_range. |
i2 | second iterator4d_range. |
Definition at line 420 of file iterator4d_range.hpp.
|
friend |
iterator4d_range difference operator.
i1 | first iterator4d_range. |
i2 | second iterator4d_range. |
Definition at line 575 of file iterator4d_range.hpp.
< operator.
i1 | first iterator4d_range. |
i2 | second iterator4d_range. |
Definition at line 439 of file iterator4d_range.hpp.
<= operator.
i1 | first iterator4d_range. |
i2 | second iterator4d_range. |
Definition at line 466 of file iterator4d_range.hpp.
Equality operator.
i1 | first iterator4d_range. |
i2 | second iterator4d_range. |
Definition at line 405 of file iterator4d_range.hpp.
operator.
i1 | first iterator4d_range. |
i2 | second iterator4d_range. |
Definition at line 452 of file iterator4d_range.hpp.
>= operator.
i1 | first iterator4d_range. |
i2 | second iterator4d_range. |
Definition at line 480 of file iterator4d_range.hpp.