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 )
.
ltl::Range::Range | ( | ) | [inline] |
Construct a Range object.
The stride arguments defaults to 1 and may be omitted. last >= first
is required.
ltl::Range::Range | ( | const Range & | other | ) | [inline] |
int ltl::Range::length | ( | ) | const [inline] |
Return the number of indices in the range.
int ltl::Range::stride | ( | ) | const [inline] |
Return the stride.
static Range ltl::Range::all | ( | ) | [inline, static] |
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.
Return a negative shifted Range object.
I.e. one whose lower and upper indices are lower by a number shift
.
Return a positive shifted Range object.
I.e. one whose lower and upper indices are higher by a number shift
.