pub struct Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>where
Sc: Score,{ /* private fields */ }Implementations§
Source§impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>where
S: Send + Sync + 'static,
Out: Send + Sync + 'static,
K: Eq + Hash + Send + Sync + 'static,
Src: Source<S, Out>,
F: UniFilter<S, Out>,
KF: Fn(&Out) -> K + Send + Sync,
C: for<'i> Collector<&'i Out, Value = V, Result = R, Accumulator = Acc> + Send + Sync + 'static,
V: Send + Sync + 'static,
R: Send + Sync + 'static,
Acc: Accumulator<V, R> + Send + Sync + 'static,
Sc: Score + 'static,
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>where
S: Send + Sync + 'static,
Out: Send + Sync + 'static,
K: Eq + Hash + Send + Sync + 'static,
Src: Source<S, Out>,
F: UniFilter<S, Out>,
KF: Fn(&Out) -> K + Send + Sync,
C: for<'i> Collector<&'i Out, Value = V, Result = R, Accumulator = Acc> + Send + Sync + 'static,
V: Send + Sync + 'static,
R: Send + Sync + 'static,
Acc: Accumulator<V, R> + Send + Sync + 'static,
Sc: Score + 'static,
pub fn penalize<W>( self, weight_fn: W, ) -> GroupedBuilder<S, Out, K, Src, F, KF, C, V, R, Acc, impl Fn(&K, &R) -> Sc + Send + Sync, Sc>
pub fn reward<W>( self, weight_fn: W, ) -> GroupedBuilder<S, Out, K, Src, F, KF, C, V, R, Acc, impl Fn(&K, &R) -> Sc + Send + Sync, Sc>
pub fn complement<B, EB, KB, D>( self, extractor_b: EB, key_b: KB, default_fn: D, ) -> ComplementedGrouped<S, Out, B, K, Src, EB, F, impl Fn(&Out) -> Option<K> + Send + Sync, KB, C, V, R, Acc, D, Sc>
pub fn complement_with_key<B, EB, KA2, KB, D>( self, extractor_b: EB, key_a: KA2, key_b: KB, default_fn: D, ) -> ComplementedGrouped<S, Out, B, K, Src, EB, F, KA2, KB, C, V, R, Acc, D, Sc>
Auto Trait Implementations§
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> Freeze for Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> RefUnwindSafe for Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>where
Src: RefUnwindSafe,
F: RefUnwindSafe,
KF: RefUnwindSafe,
C: RefUnwindSafe,
PhantomData<(fn() -> S, fn() -> Out, fn() -> K, fn() -> V, fn() -> R, fn() -> Acc, fn() -> Sc)>: RefUnwindSafe,
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> Send for Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> Sync for Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> Unpin for Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> UnsafeUnpin for Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>where
Src: UnsafeUnpin,
F: UnsafeUnpin,
KF: UnsafeUnpin,
C: UnsafeUnpin,
PhantomData<(fn() -> S, fn() -> Out, fn() -> K, fn() -> V, fn() -> R, fn() -> Acc, fn() -> Sc)>: UnsafeUnpin,
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> UnwindSafe for Grouped<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>where
Src: UnwindSafe,
F: UnwindSafe,
KF: UnwindSafe,
C: UnwindSafe,
PhantomData<(fn() -> S, fn() -> Out, fn() -> K, fn() -> V, fn() -> R, fn() -> Acc, fn() -> Sc)>: UnwindSafe,
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