Trait rayon::iter::plumbing::UnindexedProducer[][src]

pub trait UnindexedProducer: Send + Sized {
    type Item;
    fn split(self) -> (Self, Option<Self>);
fn fold_with<F>(self, folder: F) -> F
    where
        F: Folder<Self::Item>
; }
Expand description

A variant on Producer which does not know its exact length or cannot represent it in a usize. These producers act like ordinary producers except that they cannot be told to split at a particular point. Instead, you just ask them to split ‘somewhere’.

(In principle, Producer could extend this trait; however, it does not because to do so would require producers to carry their own length with them.)

Associated Types

type Item[src]

Expand description

The type of item returned by this producer.

Required methods

fn split(self) -> (Self, Option<Self>)[src]

Expand description

Split midway into a new producer if possible, otherwise return None.

fn fold_with<F>(self, folder: F) -> F where
    F: Folder<Self::Item>, 
[src]

Expand description

Iterate the producer, feeding each element to folder, and stop when the folder is full (or all elements have been consumed).

Implementors