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