Jive reference manual
|
A class for creating contiguous slices of array-like objects. More...
#include <jem/base/Slice.h>
Public Member Functions | |
SliceFromTo (int first, int last) | |
Creates a SliceFromTo with a given begin index and end index. More... | |
![]() | |
Slice () | |
Creates an empty Slice. More... | |
Slice (int first, int last, int stride=1) | |
Constructs a Slice with a given begin index, end index and stride. More... | |
int | first () const |
Returns the begin index. More... | |
int | last () const |
Returns the end index. More... | |
int | last (int ubound) const |
Returns a clipped end index. More... | |
int | stride () const |
Returns the stride. More... | |
Additional Inherited Members | |
![]() | |
static const int | MAX_INDEX |
The largest representable integer. More... | |
![]() | |
SliceFromTo | slice (int first, int last) |
Constructs a SliceFrom object with a given begin index and end index. More... | |
Slice | slice (int first, int last, int stride) |
Constructs a Slice object with a given begin index, end index and stride. More... | |
SliceTo | slice (Begin, int last) |
Constructs a SliceTo object with a given end index. More... | |
Slice | slice (Begin, int last, int stride) |
Constructs a Slice object with a given end index and stride. More... | |
SliceFrom | slice (int first, End) |
Constructs a SliceFrom object with a given begin index. More... | |
Slice | slice (int first, End, int stride) |
Constructs a Slice object with a given begin index and stride. More... | |
const SliceAll & | slice (Begin, End) |
Returns a SliceAll object. More... | |
Slice | slice (Begin, End, int stride) |
Constructs a Slice object with a given stride. More... | |
const SliceAll & | slice (const SliceAll &all) |
Returns a SliceAll object. More... | |
Slice | slice (const SliceAll &all, int stride) |
Constructs a Slice object with a given stride. More... | |
A SliceFromTo
is basically a Slice
object with the following properties:
with first, last and stride denoting the begin index, end index and stride, respectively, and with n denoting the size of the array-like object from which a slice is to be taken. In other words, the end index of a SliceFromTo
object may not be larger than the size of the array-like object. This property makes it possible for array-like objects to implement fast slice operators that do not have to truncate the end index to the size of the array-like object.
Note that the SliceFromTo
will not be able check whether the end index is valid; it is your responsibility to create SliceFromTo
objects with a valid end index.
A SliceFromTo
is normally created by calling the global, non-member function slice()
.
slice()
. jem::SliceFromTo::SliceFromTo | ( | int | first, |
int | last | ||
) |
Creates a SliceFromTo
with begin index first and end index last.
first | - the begin index. |
last | - the end index. |
first >= 0 &&
last >= first