pub struct ProjectedGroupedConstraintStream<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> ProjectedGroupedConstraintStream<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: ProjectedSource<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> ProjectedGroupedConstraintStream<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: ProjectedSource<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, ) -> ProjectedGroupedConstraintBuilder<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, ) -> ProjectedGroupedConstraintBuilder<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, ) -> ProjectedComplementedGroupedConstraintStream<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, ) -> ProjectedComplementedGroupedConstraintStream<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 ProjectedGroupedConstraintStream<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 ProjectedGroupedConstraintStream<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> Send for ProjectedGroupedConstraintStream<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 ProjectedGroupedConstraintStream<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 ProjectedGroupedConstraintStream<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 ProjectedGroupedConstraintStream<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>
impl<S, Out, K, Src, F, KF, C, V, R, Acc, Sc> UnwindSafe for ProjectedGroupedConstraintStream<S, Out, K, Src, F, KF, C, V, R, Acc, Sc>
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