Trait ndarray::MultiSliceArg [−][src]
pub trait MultiSliceArg<'a, A, D> where
A: 'a,
D: Dimension, { type Output; fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output; fn __private__(&self) -> PrivateMarker; }
Expand description
Slicing information describing multiple mutable, disjoint slices.
It’s unfortunate that we need 'a
and A
to be parameters of the trait,
but they’re necessary until Rust supports generic associated types.
Associated Types
Required methods
fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output
[src]
Expand description
Split the view into multiple disjoint slices.
Panics if performing any individual slice panics or if the slices are not disjoint (i.e. if they intersect).
fn __private__(&self) -> PrivateMarker
[src]
Expand description
This trait is private to implement; this method exists to make it impossible to implement outside the crate.
Implementations on Foreign Types
impl<'a, A, D> MultiSliceArg<'a, A, D> for () where
A: 'a,
D: Dimension,
[src]
impl<'a, A, D> MultiSliceArg<'a, A, D> for () where
A: 'a,
D: Dimension,
[src]impl<'a, A, D, I0> MultiSliceArg<'a, A, D> for (I0,) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
[src]
impl<'a, A, D, I0> MultiSliceArg<'a, A, D> for (I0,) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
[src]type Output = (ArrayViewMut<'a, A, I0::OutDim>,)
fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output
[src]
impl<'a, A, D, I0, I1> MultiSliceArg<'a, A, D> for (I0, I1) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
[src]
impl<'a, A, D, I0, I1> MultiSliceArg<'a, A, D> for (I0, I1) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
[src]type Output = (ArrayViewMut<'a, A, I0::OutDim>, ArrayViewMut<'a, A, I1::OutDim>)
fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output
[src]
impl<'a, A, D, I0, I1, I2> MultiSliceArg<'a, A, D> for (I0, I1, I2) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
[src]
impl<'a, A, D, I0, I1, I2> MultiSliceArg<'a, A, D> for (I0, I1, I2) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
[src]type Output = (ArrayViewMut<'a, A, I0::OutDim>, ArrayViewMut<'a, A, I1::OutDim>, ArrayViewMut<'a, A, I2::OutDim>)
fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output
[src]
impl<'a, A, D, I0, I1, I2, I3> MultiSliceArg<'a, A, D> for (I0, I1, I2, I3) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
[src]
impl<'a, A, D, I0, I1, I2, I3> MultiSliceArg<'a, A, D> for (I0, I1, I2, I3) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
[src]type Output = (ArrayViewMut<'a, A, I0::OutDim>, ArrayViewMut<'a, A, I1::OutDim>, ArrayViewMut<'a, A, I2::OutDim>, ArrayViewMut<'a, A, I3::OutDim>)
fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output
[src]
impl<'a, A, D, I0, I1, I2, I3, I4> MultiSliceArg<'a, A, D> for (I0, I1, I2, I3, I4) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
I4: SliceArg<D>,
[src]
impl<'a, A, D, I0, I1, I2, I3, I4> MultiSliceArg<'a, A, D> for (I0, I1, I2, I3, I4) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
I4: SliceArg<D>,
[src]type Output = (ArrayViewMut<'a, A, I0::OutDim>, ArrayViewMut<'a, A, I1::OutDim>, ArrayViewMut<'a, A, I2::OutDim>, ArrayViewMut<'a, A, I3::OutDim>, ArrayViewMut<'a, A, I4::OutDim>)
fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output
[src]
impl<'a, A, D, I0, I1, I2, I3, I4, I5> MultiSliceArg<'a, A, D> for (I0, I1, I2, I3, I4, I5) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
I4: SliceArg<D>,
I5: SliceArg<D>,
[src]
impl<'a, A, D, I0, I1, I2, I3, I4, I5> MultiSliceArg<'a, A, D> for (I0, I1, I2, I3, I4, I5) where
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
I4: SliceArg<D>,
I5: SliceArg<D>,
[src]type Output = (ArrayViewMut<'a, A, I0::OutDim>, ArrayViewMut<'a, A, I1::OutDim>, ArrayViewMut<'a, A, I2::OutDim>, ArrayViewMut<'a, A, I3::OutDim>, ArrayViewMut<'a, A, I4::OutDim>, ArrayViewMut<'a, A, I5::OutDim>)
fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output
[src]
impl<'a, A, D, T> MultiSliceArg<'a, A, D> for &T where
A: 'a,
D: Dimension,
T: MultiSliceArg<'a, A, D>,
[src]
impl<'a, A, D, T> MultiSliceArg<'a, A, D> for &T where
A: 'a,
D: Dimension,
T: MultiSliceArg<'a, A, D>,
[src]