Struct amadeus::par_sink::GroupBy [−][src]
#[must_use]pub struct GroupBy<A, B> { /* fields omitted */ }
Implementations
Trait Implementations
impl<A, B, Item, T, U> DistributedSink<Item> for GroupBy<A, B> where
T: Eq + Hash + ProcessSend + 'static,
A: DistributedPipe<Item, Output = (T, U)>,
B: DistributedSink<U>,
<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Task: Clone,
<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Task: ProcessSend,
<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Task: 'static,
<B as DistributedSink<U>>::ReduceA: Clone,
<B as DistributedSink<U>>::ReduceA: ProcessSend,
<B as DistributedSink<U>>::ReduceA: 'static,
<B as DistributedSink<U>>::ReduceB: Clone,
<B as DistributedSink<U>>::ReduceC: Clone,
<B as DistributedSink<U>>::Done: ProcessSend,
<B as DistributedSink<U>>::Done: 'static,
[src]
impl<A, B, Item, T, U> DistributedSink<Item> for GroupBy<A, B> where
T: Eq + Hash + ProcessSend + 'static,
A: DistributedPipe<Item, Output = (T, U)>,
B: DistributedSink<U>,
<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Task: Clone,
<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Task: ProcessSend,
<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Task: 'static,
<B as DistributedSink<U>>::ReduceA: Clone,
<B as DistributedSink<U>>::ReduceA: ProcessSend,
<B as DistributedSink<U>>::ReduceA: 'static,
<B as DistributedSink<U>>::ReduceB: Clone,
<B as DistributedSink<U>>::ReduceC: Clone,
<B as DistributedSink<U>>::Done: ProcessSend,
<B as DistributedSink<U>>::Done: 'static,
[src]type Done = IndexMap<T, <B as DistributedSink<U>>::Done, RandomState>
type Pipe = A
type ReduceA = GroupByReducerA<<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Task, <B as DistributedSink<U>>::ReduceA, T, U>
type ReduceB = GroupByReducerB<<B as DistributedSink<U>>::ReduceB, T, <<B as DistributedSink<U>>::ReduceA as ReducerSend<<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Output>>::Done>
type ReduceC = GroupByReducerB<<B as DistributedSink<U>>::ReduceC, T, <<B as DistributedSink<U>>::ReduceB as ReducerProcessSend<<<B as DistributedSink<U>>::ReduceA as Reducer<<<B as DistributedSink<U>>::Pipe as DistributedPipe<U>>::Output>>::Done>>::Done>
pub fn reducers(
self
) -> (<GroupBy<A, B> as DistributedSink<Item>>::Pipe, <GroupBy<A, B> as DistributedSink<Item>>::ReduceA, <GroupBy<A, B> as DistributedSink<Item>>::ReduceB, <GroupBy<A, B> as DistributedSink<Item>>::ReduceC)
[src]
self
) -> (<GroupBy<A, B> as DistributedSink<Item>>::Pipe, <GroupBy<A, B> as DistributedSink<Item>>::ReduceA, <GroupBy<A, B> as DistributedSink<Item>>::ReduceB, <GroupBy<A, B> as DistributedSink<Item>>::ReduceC)
impl<A, B, Item, T, U> ParallelSink<Item> for GroupBy<A, B> where
T: Eq + Hash + Send + 'static,
A: ParallelPipe<Item, Output = (T, U)>,
B: ParallelSink<U>,
<<B as ParallelSink<U>>::Pipe as ParallelPipe<U>>::Task: Clone,
<<B as ParallelSink<U>>::Pipe as ParallelPipe<U>>::Task: Send,
<<B as ParallelSink<U>>::Pipe as ParallelPipe<U>>::Task: 'static,
<B as ParallelSink<U>>::ReduceA: Clone,
<B as ParallelSink<U>>::ReduceA: Send,
<B as ParallelSink<U>>::ReduceA: 'static,
<B as ParallelSink<U>>::ReduceC: Clone,
<B as ParallelSink<U>>::Done: Send,
<B as ParallelSink<U>>::Done: 'static,
[src]
impl<A, B, Item, T, U> ParallelSink<Item> for GroupBy<A, B> where
T: Eq + Hash + Send + 'static,
A: ParallelPipe<Item, Output = (T, U)>,
B: ParallelSink<U>,
<<B as ParallelSink<U>>::Pipe as ParallelPipe<U>>::Task: Clone,
<<B as ParallelSink<U>>::Pipe as ParallelPipe<U>>::Task: Send,
<<B as ParallelSink<U>>::Pipe as ParallelPipe<U>>::Task: 'static,
<B as ParallelSink<U>>::ReduceA: Clone,
<B as ParallelSink<U>>::ReduceA: Send,
<B as ParallelSink<U>>::ReduceA: 'static,
<B as ParallelSink<U>>::ReduceC: Clone,
<B as ParallelSink<U>>::Done: Send,
<B as ParallelSink<U>>::Done: 'static,
[src]type Done = IndexMap<T, <B as ParallelSink<U>>::Done, RandomState>
type Pipe = A
type ReduceA = GroupByReducerA<<<B as ParallelSink<U>>::Pipe as ParallelPipe<U>>::Task, <B as ParallelSink<U>>::ReduceA, T, U>
type ReduceC = GroupByReducerB<<B as ParallelSink<U>>::ReduceC, T, <<B as ParallelSink<U>>::ReduceA as ReducerSend<<<B as ParallelSink<U>>::Pipe as ParallelPipe<U>>::Output>>::Done>
pub fn reducers(
self
) -> (<GroupBy<A, B> as ParallelSink<Item>>::Pipe, <GroupBy<A, B> as ParallelSink<Item>>::ReduceA, <GroupBy<A, B> as ParallelSink<Item>>::ReduceC)
[src]
self
) -> (<GroupBy<A, B> as ParallelSink<Item>>::Pipe, <GroupBy<A, B> as ParallelSink<Item>>::ReduceA, <GroupBy<A, B> as ParallelSink<Item>>::ReduceC)
Auto Trait Implementations
impl<A, B> RefUnwindSafe for GroupBy<A, B> where
A: RefUnwindSafe,
B: RefUnwindSafe,
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for GroupBy<A, B> where
A: Send,
B: Send,
A: Send,
B: Send,
impl<A, B> Sync for GroupBy<A, B> where
A: Sync,
B: Sync,
A: Sync,
B: Sync,
impl<A, B> Unpin for GroupBy<A, B> where
A: Unpin,
B: Unpin,
A: Unpin,
B: Unpin,
impl<A, B> UnwindSafe for GroupBy<A, B> where
A: UnwindSafe,
B: UnwindSafe,
A: UnwindSafe,
B: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<A, B> Downcast<A> for B where
A: DowncastFrom<B>,
[src]
impl<A, B> Downcast<A> for B where
A: DowncastFrom<B>,
[src]pub fn downcast(self) -> Result<A, DowncastError>
[src]
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> Type for T
[src]
impl<T> Type for T
[src]pub fn meta(self: *const T) -> <T as Type>::Meta
[src]
pub fn meta(self: *const T) -> <T as Type>::Meta
[src]Retrieve TraitObject
, Slice
or Concrete
meta data respectively for a type
pub fn dangling(_t: <T as Type>::Meta) -> NonNull<T>
[src]
pub fn dangling(_t: <T as Type>::Meta) -> NonNull<T>
[src]Create a dangling non-null *const Self
with the provided Self::Meta
.
pub fn fatten(thin: *mut (), _t: <T as Type>::Meta) -> *mut T
[src]
pub fn fatten(thin: *mut (), _t: <T as Type>::Meta) -> *mut T
[src]Create a *mut Self
with the provided Self::Meta
.
fn meta_type(self: *const Self) -> MetaType
[src]
fn meta_type(self: *const Self) -> MetaType
[src]Helper method describing whether a type is TraitObject
, Slice
or Concrete
.
impl<T> Type for T where
T: ?Sized,
[src]
impl<T> Type for T where
T: ?Sized,
[src]pub default fn meta(self: *const T) -> <T as Type>::Meta
[src]
pub default fn meta(self: *const T) -> <T as Type>::Meta
[src]Retrieve TraitObject
, Slice
or Concrete
meta data respectively for a type
pub default fn dangling(t: <T as Type>::Meta) -> NonNull<T>
[src]
pub default fn dangling(t: <T as Type>::Meta) -> NonNull<T>
[src]Create a dangling non-null *const Self
with the provided Self::Meta
.
pub default fn fatten(thin: *mut (), t: <T as Type>::Meta) -> *mut T
[src]
pub default fn fatten(thin: *mut (), t: <T as Type>::Meta) -> *mut T
[src]Create a *mut Self
with the provided Self::Meta
.
type Meta: 'static
type Meta: 'static
Type of metadata for type.
fn meta_type(self: *const Self) -> MetaType
[src]
fn meta_type(self: *const Self) -> MetaType
[src]Helper method describing whether a type is TraitObject
, Slice
or Concrete
.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,