Struct ndarray::SliceInfo [−][src]
Expand description
Represents all of the necessary information to perform a slice.
The type T is typically [SliceInfoElem; n], &[SliceInfoElem], or
Vec<SliceInfoElem>. The type Din is the dimension of the array to be
sliced, and Dout is the output dimension after calling .slice(). Note
that if Din is a fixed dimension type (Ix0, Ix1, Ix2, etc.), the
SliceInfo instance can still be used to slice an array with dimension
IxDyn as long as the number of axes matches.
Implementations
impl<T, Din, Dout> SliceInfo<T, Din, Dout> where
T: AsRef<[SliceInfoElem]>,
Din: Dimension,
Dout: Dimension, [src]
impl<T, Din, Dout> SliceInfo<T, Din, Dout> where
T: AsRef<[SliceInfoElem]>,
Din: Dimension,
Dout: Dimension, [src]pub unsafe fn new(indices: T) -> Result<SliceInfo<T, Din, Dout>, ShapeError>[src]
pub unsafe fn new(indices: T) -> Result<SliceInfo<T, Din, Dout>, ShapeError>[src]Returns a new SliceInfo instance.
Errors if Din or Dout is not consistent with indices.
For common types, a safe alternative is to use TryFrom instead.
Safety
The caller must ensure indices.as_ref() always returns the same value
when called multiple times.
Trait Implementations
impl<T, Din, Dout> AsRef<[SliceInfoElem]> for SliceInfo<T, Din, Dout> where
T: AsRef<[SliceInfoElem]>,
Din: Dimension,
Dout: Dimension, [src]
impl<T, Din, Dout> AsRef<[SliceInfoElem]> for SliceInfo<T, Din, Dout> where
T: AsRef<[SliceInfoElem]>,
Din: Dimension,
Dout: Dimension, [src]impl<T, Din, Dout> Clone for SliceInfo<T, Din, Dout> where
T: Clone,
Din: Dimension,
Dout: Dimension, [src]
impl<T, Din, Dout> Clone for SliceInfo<T, Din, Dout> where
T: Clone,
Din: Dimension,
Dout: Dimension, [src]impl<T: Debug, Din: Debug + Dimension, Dout: Debug + Dimension> Debug for SliceInfo<T, Din, Dout>[src]
impl<T: Debug, Din: Debug + Dimension, Dout: Debug + Dimension> Debug for SliceInfo<T, Din, Dout>[src]impl<'a, T, Din, Dout> From<&'a SliceInfo<T, Din, Dout>> for SliceInfo<&'a [SliceInfoElem], Din, Dout> where
T: AsRef<[SliceInfoElem]>,
Din: Dimension,
Dout: Dimension, [src]
impl<'a, T, Din, Dout> From<&'a SliceInfo<T, Din, Dout>> for SliceInfo<&'a [SliceInfoElem], Din, Dout> where
T: AsRef<[SliceInfoElem]>,
Din: Dimension,
Dout: Dimension, [src]impl<T, Dout> SliceArg<Dim<[usize; 0]>> for SliceInfo<T, Ix0, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]
impl<T, Dout> SliceArg<Dim<[usize; 0]>> for SliceInfo<T, Ix0, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]type OutDim = Dout
type OutDim = DoutDimensionality of the output array.
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarker[src]This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl<T, Dout> SliceArg<Dim<[usize; 1]>> for SliceInfo<T, Ix1, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]
impl<T, Dout> SliceArg<Dim<[usize; 1]>> for SliceInfo<T, Ix1, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]type OutDim = Dout
type OutDim = DoutDimensionality of the output array.
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarker[src]This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl<T, Dout> SliceArg<Dim<[usize; 2]>> for SliceInfo<T, Ix2, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]
impl<T, Dout> SliceArg<Dim<[usize; 2]>> for SliceInfo<T, Ix2, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]type OutDim = Dout
type OutDim = DoutDimensionality of the output array.
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarker[src]This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl<T, Dout> SliceArg<Dim<[usize; 3]>> for SliceInfo<T, Ix3, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]
impl<T, Dout> SliceArg<Dim<[usize; 3]>> for SliceInfo<T, Ix3, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]type OutDim = Dout
type OutDim = DoutDimensionality of the output array.
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarker[src]This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl<T, Dout> SliceArg<Dim<[usize; 4]>> for SliceInfo<T, Ix4, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]
impl<T, Dout> SliceArg<Dim<[usize; 4]>> for SliceInfo<T, Ix4, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]type OutDim = Dout
type OutDim = DoutDimensionality of the output array.
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarker[src]This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl<T, Dout> SliceArg<Dim<[usize; 5]>> for SliceInfo<T, Ix5, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]
impl<T, Dout> SliceArg<Dim<[usize; 5]>> for SliceInfo<T, Ix5, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]type OutDim = Dout
type OutDim = DoutDimensionality of the output array.
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarker[src]This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl<T, Dout> SliceArg<Dim<[usize; 6]>> for SliceInfo<T, Ix6, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]
impl<T, Dout> SliceArg<Dim<[usize; 6]>> for SliceInfo<T, Ix6, Dout> where
T: AsRef<[SliceInfoElem]>,
Dout: Dimension, [src]type OutDim = Dout
type OutDim = DoutDimensionality of the output array.
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarker[src]This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl<T, Din, Dout> SliceArg<Dim<IxDynImpl>> for SliceInfo<T, Din, Dout> where
T: AsRef<[SliceInfoElem]>,
Din: Dimension,
Dout: Dimension, [src]
impl<T, Din, Dout> SliceArg<Dim<IxDynImpl>> for SliceInfo<T, Din, Dout> where
T: AsRef<[SliceInfoElem]>,
Din: Dimension,
Dout: Dimension, [src]type OutDim = Dout
type OutDim = DoutDimensionality of the output array.
fn __private__(&self) -> PrivateMarker[src]
fn __private__(&self) -> PrivateMarker[src]This trait is private to implement; this method exists to make it impossible to implement outside the crate. Read more
impl<'a, Din, Dout> TryFrom<&'a [SliceInfoElem]> for SliceInfo<&'a [SliceInfoElem], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<'a, Din, Dout> TryFrom<&'a [SliceInfoElem]> for SliceInfo<&'a [SliceInfoElem], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: &'a [SliceInfoElem]
) -> Result<SliceInfo<&'a [SliceInfoElem], Din, Dout>, ShapeError>[src]
fn try_from(
indices: &'a [SliceInfoElem]
) -> Result<SliceInfo<&'a [SliceInfoElem], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 0]> for SliceInfo<[SliceInfoElem; 0], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 0]> for SliceInfo<[SliceInfoElem; 0], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 0]
) -> Result<SliceInfo<[SliceInfoElem; 0], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 0]
) -> Result<SliceInfo<[SliceInfoElem; 0], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 1]> for SliceInfo<[SliceInfoElem; 1], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 1]> for SliceInfo<[SliceInfoElem; 1], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 1]
) -> Result<SliceInfo<[SliceInfoElem; 1], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 1]
) -> Result<SliceInfo<[SliceInfoElem; 1], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 2]> for SliceInfo<[SliceInfoElem; 2], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 2]> for SliceInfo<[SliceInfoElem; 2], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 2]
) -> Result<SliceInfo<[SliceInfoElem; 2], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 2]
) -> Result<SliceInfo<[SliceInfoElem; 2], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 3]> for SliceInfo<[SliceInfoElem; 3], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 3]> for SliceInfo<[SliceInfoElem; 3], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 3]
) -> Result<SliceInfo<[SliceInfoElem; 3], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 3]
) -> Result<SliceInfo<[SliceInfoElem; 3], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 4]> for SliceInfo<[SliceInfoElem; 4], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 4]> for SliceInfo<[SliceInfoElem; 4], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 4]
) -> Result<SliceInfo<[SliceInfoElem; 4], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 4]
) -> Result<SliceInfo<[SliceInfoElem; 4], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 5]> for SliceInfo<[SliceInfoElem; 5], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 5]> for SliceInfo<[SliceInfoElem; 5], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 5]
) -> Result<SliceInfo<[SliceInfoElem; 5], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 5]
) -> Result<SliceInfo<[SliceInfoElem; 5], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 6]> for SliceInfo<[SliceInfoElem; 6], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 6]> for SliceInfo<[SliceInfoElem; 6], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 6]
) -> Result<SliceInfo<[SliceInfoElem; 6], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 6]
) -> Result<SliceInfo<[SliceInfoElem; 6], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 7]> for SliceInfo<[SliceInfoElem; 7], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 7]> for SliceInfo<[SliceInfoElem; 7], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 7]
) -> Result<SliceInfo<[SliceInfoElem; 7], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 7]
) -> Result<SliceInfo<[SliceInfoElem; 7], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<[SliceInfoElem; 8]> for SliceInfo<[SliceInfoElem; 8], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<[SliceInfoElem; 8]> for SliceInfo<[SliceInfoElem; 8], Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: [SliceInfoElem; 8]
) -> Result<SliceInfo<[SliceInfoElem; 8], Din, Dout>, ShapeError>[src]
fn try_from(
indices: [SliceInfoElem; 8]
) -> Result<SliceInfo<[SliceInfoElem; 8], Din, Dout>, ShapeError>[src]Performs the conversion.
impl<Din, Dout> TryFrom<Vec<SliceInfoElem, Global>> for SliceInfo<Vec<SliceInfoElem>, Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]
impl<Din, Dout> TryFrom<Vec<SliceInfoElem, Global>> for SliceInfo<Vec<SliceInfoElem>, Din, Dout> where
Din: Dimension,
Dout: Dimension, [src]type Error = ShapeError
type Error = ShapeErrorThe type returned in the event of a conversion error.
fn try_from(
indices: Vec<SliceInfoElem>
) -> Result<SliceInfo<Vec<SliceInfoElem>, Din, Dout>, ShapeError>[src]
fn try_from(
indices: Vec<SliceInfoElem>
) -> Result<SliceInfo<Vec<SliceInfoElem>, Din, Dout>, ShapeError>[src]Performs the conversion.
impl<T, Din, Dout> Copy for SliceInfo<T, Din, Dout> where
T: Copy,
Din: Dimension,
Dout: Dimension, [src]
T: Copy,
Din: Dimension,
Dout: Dimension,
Auto Trait Implementations
impl<T, Din, Dout> RefUnwindSafe for SliceInfo<T, Din, Dout> where
Din: RefUnwindSafe,
Dout: RefUnwindSafe,
T: RefUnwindSafe,
Din: RefUnwindSafe,
Dout: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, Din, Dout> Send for SliceInfo<T, Din, Dout> where
T: Send,
T: Send,
impl<T, Din, Dout> Sync for SliceInfo<T, Din, Dout> where
T: Sync,
T: Sync,
impl<T, Din, Dout> Unpin for SliceInfo<T, Din, Dout> where
Din: Unpin,
Dout: Unpin,
T: Unpin,
Din: Unpin,
Dout: Unpin,
T: Unpin,
impl<T, Din, Dout> UnwindSafe for SliceInfo<T, Din, Dout> where
Din: UnwindSafe,
Dout: UnwindSafe,
T: UnwindSafe,
Din: UnwindSafe,
Dout: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for Timpl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more