Trait rayon::par_iter::internal::Consumer [] [src]

pub trait Consumer<Item>: Send + Sized {
    type Folder: Folder<Item, Result=Self::Result>;
    type Reducer: Reducer<Self::Result>;
    type Result: Send;
    fn cost(&mut self, producer_cost: f64) -> f64;
    fn split_at(self, index: usize) -> (Self, Self, Self::Reducer);
    fn into_folder(self) -> Self::Folder;

    fn weighted(&self) -> bool { ... }
    fn full(&self) -> bool { ... }
}

A consumer which consumes items that are fed to it.

Associated Types

Required Methods

If it costs producer_cost to produce the items we will consume, returns cost adjusted to account for consuming them.

Divide the consumer into two consumers, one processing items 0..index and one processing items from index... Also produces a reducer that can be used to reduce the results at the end.

Convert the consumer into a folder that can consume items sequentially, eventually producing a final result.

Provided Methods

Reports whether the consumer has explicit weights.

Hint whether this Consumer would like to stop processing further items, e.g. if a search has been completed.

Implementors