Trait NdProducer

Source
pub trait NdProducer {
    type Item;
    type Dim: Dimension;

    // Required method
    fn raw_dim(&self) -> Self::Dim;
}
Expand description

A producer of an n-dimensional set of elements; for example an array view, mutable array view or an iterator that yields chunks.

Producers are used as a arguments to Zip and azip!().

§Comparison to IntoIterator

Most NdProducers are iterable (implement IntoIterator) but not directly iterators. This separation is needed because the producer represents a multidimensional set of items, it can be split along a particular axis for parallelization, and it has no fixed correspondence to a sequence.

The natural exception is one dimensional producers, like AxisIter, which implement Iterator directly (AxisIter traverses a one dimensional sequence, along an axis, while producing multidimensional items).

See also IntoNdProducer

Required Associated Types§

Source

type Item

The element produced per iteration.

Source

type Dim: Dimension

Dimension type

Required Methods§

Source

fn raw_dim(&self) -> Self::Dim

Return the shape of the producer.

Implementors§

Source§

impl<'a, A, D: Dimension> NdProducer for AxisIter<'a, A, D>

Source§

type Item = <AxisIter<'a, A, D> as Iterator>::Item

Source§

type Dim = Dim<[usize; 1]>

Source§

impl<'a, A, D: Dimension> NdProducer for AxisIterMut<'a, A, D>

Source§

type Item = <AxisIterMut<'a, A, D> as Iterator>::Item

Source§

type Dim = Dim<[usize; 1]>

Source§

impl<'a, A, D: Dimension> NdProducer for AxisWindows<'a, A, D>

Source§

impl<'a, A, D: Dimension> NdProducer for ExactChunks<'a, A, D>

Source§

impl<'a, A, D: Dimension> NdProducer for ExactChunksMut<'a, A, D>

Source§

impl<'a, A, D: Dimension> NdProducer for Lanes<'a, A, D>

Source§

impl<'a, A, D: Dimension> NdProducer for LanesMut<'a, A, D>

Source§

impl<'a, A, D: Dimension> NdProducer for Windows<'a, A, D>

Source§

impl<'a, A, D: Dimension> NdProducer for ArrayView<'a, A, D>

Source§

impl<'a, A, D: Dimension> NdProducer for ArrayViewMut<'a, A, D>

Source§

impl<A, D: Dimension> NdProducer for RawArrayView<A, D>

Source§

impl<A, D: Dimension> NdProducer for RawArrayViewMut<A, D>

Source§

impl<D: Dimension + Copy> NdProducer for Indices<D>

Source§

type Item = <D as Dimension>::Pattern

Source§

type Dim = D

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy