Struct ndarray::Slice[][src]

pub struct Slice {
    pub start: isize,
    pub end: Option<isize>,
    pub step: isize,
}

A slice (range with step size).

end is an exclusive index. Negative begin or end indexes are counted from the back of the axis. If end is None, the slice extends to the end of the axis.

See also the s![] macro.

Examples

Slice::new(0, None, 1) is the full range of an axis. It can also be created with Slice::from(..). The Python equivalent is [:].

Slice::new(a, b, 2) is every second element from a until b. It can also be created with Slice::from(a..b).step_by(2). The Python equivalent is [a:b:2].

Slice::new(a, None, -1) is every element, from a until the end, in reverse order. It can also be created with Slice::from(a..).step_by(-1). The Python equivalent is [a::-1].

Fields

start: isizeend: Option<isize>step: isize

Implementations

impl Slice[src]

pub fn new(start: isize, end: Option<isize>, step: isize) -> Slice[src]

Create a new Slice with the given extents.

See also the From impls, converting from ranges; for example Slice::from(i..) or Slice::from(j..k).

step must be nonzero. (This method checks with a debug assertion that step is not zero.)

pub fn step_by(self, step: isize) -> Self[src]

Create a new Slice with the given step size (multiplied with the previous step size).

step must be nonzero. (This method checks with a debug assertion that step is not zero.)

Trait Implementations

impl Clone for Slice[src]

impl Copy for Slice[src]

impl Debug for Slice[src]

impl Eq for Slice[src]

impl From<Range<i32>> for Slice[src]

impl From<Range<isize>> for Slice[src]

impl From<Range<usize>> for Slice[src]

impl From<RangeFrom<i32>> for Slice[src]

impl From<RangeFrom<isize>> for Slice[src]

impl From<RangeFrom<usize>> for Slice[src]

impl From<RangeFull> for Slice[src]

impl From<RangeInclusive<i32>> for Slice[src]

impl From<RangeInclusive<isize>> for Slice[src]

impl From<RangeInclusive<usize>> for Slice[src]

impl From<RangeTo<i32>> for Slice[src]

impl From<RangeTo<isize>> for Slice[src]

impl From<RangeTo<usize>> for Slice[src]

impl From<RangeToInclusive<i32>> for Slice[src]

impl From<RangeToInclusive<isize>> for Slice[src]

impl From<RangeToInclusive<usize>> for Slice[src]

impl From<Slice> for SliceOrIndex[src]

impl Hash for Slice[src]

impl PartialEq<Slice> for Slice[src]

impl StructuralEq for Slice[src]

impl StructuralPartialEq for Slice[src]

Auto Trait Implementations

impl RefUnwindSafe for Slice

impl Send for Slice

impl Sync for Slice

impl Unpin for Slice

impl UnwindSafe for Slice

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.