Struct extendr_api::prelude::iter::Indices
source · pub struct Indices<D>where
D: Dimension,{
start: D,
dim: D,
}
Expand description
Indices producer and iterable.
Indices
is an NdProducer
that produces the indices of an array shape.
Fields§
§start: D
§dim: D
Trait Implementations§
source§impl<D> IntoIterator for Indices<D>where
D: Dimension,
impl<D> IntoIterator for Indices<D>where
D: Dimension,
source§impl<D> NdProducer for Indices<D>
impl<D> NdProducer for Indices<D>
impl<D> Copy for Indices<D>
Auto Trait Implementations§
impl<D> Freeze for Indices<D>where
D: DimAdd<Dim<IxDynImpl>, Output = Dim<IxDynImpl>, Output = <D as Dimension>::Larger, Output = D> + DimAdd<Dim<[usize; 1]>> + DimAdd<Dim<[usize; 0]>> + DimAdd<<D as Dimension>::Larger> + DimAdd<<D as Dimension>::Smaller> + DimAdd<D> + DimMax<<D as Dimension>::Larger, Output = <D as Dimension>::Larger, Output = D, Output = Dim<IxDynImpl>, Output = D, Output = D> + DimMax<<D as Dimension>::Smaller> + DimMax<Dim<IxDynImpl>> + DimMax<D> + DimMax<Dim<[usize; 0]>> + MulAssign<usize> + for<'x> MulAssign<&'x D> + MulAssign + Mul<Output = D, Output = D> + Mul<usize> + for<'x> SubAssign<&'x D> + SubAssign + Sub<Output = D> + for<'x> AddAssign<&'x D> + AddAssign + Add<Output = D> + IndexMut<usize, Output = usize> + Index<usize> + Default + Sync + Send + Debug + Eq + PartialEq + Clone + Freeze,
impl<D> RefUnwindSafe for Indices<D>where
D: DimAdd<Dim<IxDynImpl>, Output = Dim<IxDynImpl>, Output = <D as Dimension>::Larger, Output = D> + DimAdd<Dim<[usize; 1]>> + DimAdd<Dim<[usize; 0]>> + DimAdd<<D as Dimension>::Larger> + DimAdd<<D as Dimension>::Smaller> + DimAdd<D> + DimMax<<D as Dimension>::Larger, Output = <D as Dimension>::Larger, Output = D, Output = Dim<IxDynImpl>, Output = D, Output = D> + DimMax<<D as Dimension>::Smaller> + DimMax<Dim<IxDynImpl>> + DimMax<D> + DimMax<Dim<[usize; 0]>> + MulAssign<usize> + for<'x> MulAssign<&'x D> + MulAssign + Mul<Output = D, Output = D> + Mul<usize> + for<'x> SubAssign<&'x D> + SubAssign + Sub<Output = D> + for<'x> AddAssign<&'x D> + AddAssign + Add<Output = D> + IndexMut<usize, Output = usize> + Index<usize> + Default + Sync + Send + Debug + Eq + PartialEq + Clone + RefUnwindSafe,
impl<D> Send for Indices<D>where
D: DimAdd<Dim<IxDynImpl>, Output = Dim<IxDynImpl>, Output = <D as Dimension>::Larger, Output = D> + DimAdd<Dim<[usize; 1]>> + DimAdd<Dim<[usize; 0]>> + DimAdd<<D as Dimension>::Larger> + DimAdd<<D as Dimension>::Smaller> + DimAdd<D> + DimMax<<D as Dimension>::Larger, Output = <D as Dimension>::Larger, Output = D, Output = Dim<IxDynImpl>, Output = D, Output = D> + DimMax<<D as Dimension>::Smaller> + DimMax<Dim<IxDynImpl>> + DimMax<D> + DimMax<Dim<[usize; 0]>> + MulAssign<usize> + for<'x> MulAssign<&'x D> + MulAssign + Mul<Output = D, Output = D> + Mul<usize> + for<'x> SubAssign<&'x D> + SubAssign + Sub<Output = D> + for<'x> AddAssign<&'x D> + AddAssign + Add<Output = D> + IndexMut<usize, Output = usize> + Index<usize> + Default + Sync + Send + Debug + Eq + PartialEq + Clone,
impl<D> Sync for Indices<D>where
D: DimAdd<Dim<IxDynImpl>, Output = Dim<IxDynImpl>, Output = <D as Dimension>::Larger, Output = D> + DimAdd<Dim<[usize; 1]>> + DimAdd<Dim<[usize; 0]>> + DimAdd<<D as Dimension>::Larger> + DimAdd<<D as Dimension>::Smaller> + DimAdd<D> + DimMax<<D as Dimension>::Larger, Output = <D as Dimension>::Larger, Output = D, Output = Dim<IxDynImpl>, Output = D, Output = D> + DimMax<<D as Dimension>::Smaller> + DimMax<Dim<IxDynImpl>> + DimMax<D> + DimMax<Dim<[usize; 0]>> + MulAssign<usize> + for<'x> MulAssign<&'x D> + MulAssign + Mul<Output = D, Output = D> + Mul<usize> + for<'x> SubAssign<&'x D> + SubAssign + Sub<Output = D> + for<'x> AddAssign<&'x D> + AddAssign + Add<Output = D> + IndexMut<usize, Output = usize> + Index<usize> + Default + Sync + Send + Debug + Eq + PartialEq + Clone,
impl<D> Unpin for Indices<D>where
D: DimAdd<Dim<IxDynImpl>, Output = Dim<IxDynImpl>, Output = <D as Dimension>::Larger, Output = D> + DimAdd<Dim<[usize; 1]>> + DimAdd<Dim<[usize; 0]>> + DimAdd<<D as Dimension>::Larger> + DimAdd<<D as Dimension>::Smaller> + DimAdd<D> + DimMax<<D as Dimension>::Larger, Output = <D as Dimension>::Larger, Output = D, Output = Dim<IxDynImpl>, Output = D, Output = D> + DimMax<<D as Dimension>::Smaller> + DimMax<Dim<IxDynImpl>> + DimMax<D> + DimMax<Dim<[usize; 0]>> + MulAssign<usize> + for<'x> MulAssign<&'x D> + MulAssign + Mul<Output = D, Output = D> + Mul<usize> + for<'x> SubAssign<&'x D> + SubAssign + Sub<Output = D> + for<'x> AddAssign<&'x D> + AddAssign + Add<Output = D> + IndexMut<usize, Output = usize> + Index<usize> + Default + Sync + Send + Debug + Eq + PartialEq + Clone + Unpin,
impl<D> UnwindSafe for Indices<D>where
D: DimAdd<Dim<IxDynImpl>, Output = Dim<IxDynImpl>, Output = <D as Dimension>::Larger, Output = D> + DimAdd<Dim<[usize; 1]>> + DimAdd<Dim<[usize; 0]>> + DimAdd<<D as Dimension>::Larger> + DimAdd<<D as Dimension>::Smaller> + DimAdd<D> + DimMax<<D as Dimension>::Larger, Output = <D as Dimension>::Larger, Output = D, Output = Dim<IxDynImpl>, Output = D, Output = D> + DimMax<<D as Dimension>::Smaller> + DimMax<Dim<IxDynImpl>> + DimMax<D> + DimMax<Dim<[usize; 0]>> + MulAssign<usize> + for<'x> MulAssign<&'x D> + MulAssign + Mul<Output = D, Output = D> + Mul<usize> + for<'x> SubAssign<&'x D> + SubAssign + Sub<Output = D> + for<'x> AddAssign<&'x D> + AddAssign + Add<Output = D> + IndexMut<usize, Output = usize> + Index<usize> + Default + Sync + Send + Debug + Eq + PartialEq + Clone + UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<P> IntoNdProducer for Pwhere
P: NdProducer,
impl<P> IntoNdProducer for Pwhere
P: NdProducer,
§type Item = <P as NdProducer>::Item
type Item = <P as NdProducer>::Item
The element produced per iteration.
§type Dim = <P as NdProducer>::Dim
type Dim = <P as NdProducer>::Dim
Dimension type of the producer
type Output = P
source§fn into_producer(self) -> <P as IntoNdProducer>::Output
fn into_producer(self) -> <P as IntoNdProducer>::Output
Convert the value into an
NdProducer
.