Trait ndarray::MultiSliceArg [−][src]
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
Loading content...Required methods
fn multi_slice_move(&self, view: ArrayViewMut<'a, A, D>) -> Self::Output[src]
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]
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]
A: 'a,
D: Dimension,
type Output = ()
fn multi_slice_move(&self, _view: ArrayViewMut<'a, A, D>) -> Self::Output[src]
impl<'a, A, D, I0> MultiSliceArg<'a, A, D> for (I0,) where
A: 'a,
D: Dimension,
I0: SliceArg<D>, [src]
A: 'a,
D: Dimension,
I0: SliceArg<D>,
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]
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
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]
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
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]
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
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]
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
I4: SliceArg<D>,
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]
A: 'a,
D: Dimension,
I0: SliceArg<D>,
I1: SliceArg<D>,
I2: SliceArg<D>,
I3: SliceArg<D>,
I4: SliceArg<D>,
I5: SliceArg<D>,
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]
A: 'a,
D: Dimension,
T: MultiSliceArg<'a, A, D>,