Struct rayon::iter::product::ProductConsumer
source · struct ProductConsumer<P: Send> {
_marker: PhantomData<*const P>,
}
Fields§
§_marker: PhantomData<*const P>
Implementations§
source§impl<P: Send> ProductConsumer<P>
impl<P: Send> ProductConsumer<P>
fn new() -> ProductConsumer<P>
Trait Implementations§
source§impl<P, T> Consumer<T> for ProductConsumer<P>
impl<P, T> Consumer<T> for ProductConsumer<P>
§type Folder = ProductFolder<P>
type Folder = ProductFolder<P>
The type of folder that this consumer can be converted into.
§type Reducer = ProductConsumer<P>
type Reducer = ProductConsumer<P>
The type of reducer that is produced if this consumer is split.
source§fn split_at(self, _index: usize) -> (Self, Self, Self)
fn split_at(self, _index: usize) -> (Self, Self, Self)
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.source§fn into_folder(self) -> Self::Folder
fn into_folder(self) -> Self::Folder
Convert the consumer into a folder that can consume items
sequentially, eventually producing a final result.
source§impl<P> Reducer<P> for ProductConsumer<P>
impl<P> Reducer<P> for ProductConsumer<P>
source§impl<P, T> UnindexedConsumer<T> for ProductConsumer<P>
impl<P, T> UnindexedConsumer<T> for ProductConsumer<P>
source§fn split_off_left(&self) -> Self
fn split_off_left(&self) -> Self
Splits off a “left” consumer and returns it. The
self
consumer should then be used to consume the “right” portion of
the data. (The ordering matters for methods like find_first –
values produced by the returned value are given precedence
over values produced by self
.) Once the left and right
halves have been fully consumed, you should reduce the results
with the result of to_reducer
.source§fn to_reducer(&self) -> Self::Reducer
fn to_reducer(&self) -> Self::Reducer
Creates a reducer that can be used to combine the results from
a split consumer.
impl<P: Send> Send for ProductConsumer<P>
Auto Trait Implementations§
impl<P> Freeze for ProductConsumer<P>
impl<P> RefUnwindSafe for ProductConsumer<P>where
P: RefUnwindSafe,
impl<P> !Sync for ProductConsumer<P>
impl<P> Unpin for ProductConsumer<P>
impl<P> UnwindSafe for ProductConsumer<P>where
P: RefUnwindSafe,
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<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more