|
LTL
2.0.x
|
Class to enable referencing of ltl::MArray index ranges. More...
Public Member Functions | |
| Range () | |
| Range (const int first, const int last, const int stride=1) | |
| Construct a Range object. More... | |
| Range (const Range &other) | |
| int | first (int lowest=minStart) const |
| Return the first index. More... | |
| int | last (int highest=minEnd) const |
| Return the last index. More... | |
| int | length () const |
| Return the number of indices in the range. More... | |
| int | stride () const |
| Return the stride. More... | |
| Range | operator- (const int shift) const |
| Return a negative shifted Range object. More... | |
| Range | operator-= (const int shift) |
Shift the Range object by shift to the negative. More... | |
| Range | operator+ (const int shift) const |
| Return a positive shifted Range object. More... | |
| Range | operator+= (const int shift) |
Shift the Range object by shift to the positive. More... | |
| Range | operator= (const Range &other) |
| Copy a Range object. More... | |
Static Public Member Functions | |
| static Range | all () |
| This static member returns a special Range object that represents the entire dimension, wherever used. More... | |
Class to enable referencing of ltl::MArray index ranges.
A ltl::Range is a utility object used in the context of ltl::MArray describing a range of integers used for creating arrays and indexing an array along one dimension. For example, the set of indices {-10, -8, ..., 6, 8, 10} is represented by the object Range( -10, 10, 2 ).
|
inline |
Referenced by all(), operator+(), and operator-().
Construct a Range object.
The stride arguments defaults to 1 and may be omitted. last >= first is required.
References ltl::minStart.
|
inline |
Return the first index.
References ltl::minStart.
Return the last index.
References ltl::minEnd.
|
inline |
Return the number of indices in the range.
|
inline |
Return the stride.
|
inlinestatic |
This static member returns a special Range object that represents the entire dimension, wherever used.
This is useful to refer to an entire dimension without having to figure out the actual size.
References ltl::minEnd, ltl::minStart, and Range().
Shift the Range object by shift to the negative.
I.e. the lower and upper indices are lowered by shift.
Shift the Range object by shift to the positive.
I.e. the lower and upper indices are increased by shift.
1.8.5