pub struct GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>where
Sc: Score,{ /* private fields */ }Implementations§
Source§impl<S, A, K, E, Fi, KF, C, V, R, Acc, Sc> GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>where
S: Send + Sync + 'static,
A: Clone + Send + Sync + 'static,
K: Clone + Eq + Hash + Send + Sync + 'static,
E: CollectionExtract<S, Item = A>,
Fi: UniFilter<S, A>,
KF: Fn(&A) -> K + Send + Sync,
C: for<'i> Collector<&'i A, 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, A, K, E, Fi, KF, C, V, R, Acc, Sc> GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>where
S: Send + Sync + 'static,
A: Clone + Send + Sync + 'static,
K: Clone + Eq + Hash + Send + Sync + 'static,
E: CollectionExtract<S, Item = A>,
Fi: UniFilter<S, A>,
KF: Fn(&A) -> K + Send + Sync,
C: for<'i> Collector<&'i A, 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: W, ) -> GroupedConstraintBuilder<S, A, K, E, Fi, KF, C, V, R, Acc, impl Fn(&K, &R) -> Sc + Send + Sync, Sc>
pub fn reward<W>( self, weight: W, ) -> GroupedConstraintBuilder<S, A, K, E, Fi, 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, ) -> ComplementedConstraintStream<S, A, B, K, E, EB, impl Fn(&A) -> Option<K> + Send + Sync, KB, C, V, R, Acc, D, Sc>
pub fn join<B, EB, KB>( self, target: (EB, KB), ) -> GroupedJoinedStream<S, A, B, K, E, EB, Fi, KF, C, V, R, Acc, KB, Sc>
pub fn complement_with_key<B, EB, KA2, KB, D>( self, extractor_b: EB, key_a: KA2, key_b: KB, default_fn: D, ) -> ComplementedConstraintStream<S, A, B, K, E, EB, KA2, KB, C, V, R, Acc, D, Sc>
Trait Implementations§
Auto Trait Implementations§
impl<S, A, K, E, Fi, KF, C, V, R, Acc, Sc> Freeze for GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>
impl<S, A, K, E, Fi, KF, C, V, R, Acc, Sc> RefUnwindSafe for GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>where
E: RefUnwindSafe,
Fi: RefUnwindSafe,
KF: RefUnwindSafe,
C: RefUnwindSafe,
PhantomData<(fn() -> S, fn() -> A, fn() -> K, fn() -> V, fn() -> R, fn() -> Acc, fn() -> Sc)>: RefUnwindSafe,
impl<S, A, K, E, Fi, KF, C, V, R, Acc, Sc> Send for GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>
impl<S, A, K, E, Fi, KF, C, V, R, Acc, Sc> Sync for GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>
impl<S, A, K, E, Fi, KF, C, V, R, Acc, Sc> Unpin for GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>
impl<S, A, K, E, Fi, KF, C, V, R, Acc, Sc> UnsafeUnpin for GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>where
E: UnsafeUnpin,
Fi: UnsafeUnpin,
KF: UnsafeUnpin,
C: UnsafeUnpin,
PhantomData<(fn() -> S, fn() -> A, fn() -> K, fn() -> V, fn() -> R, fn() -> Acc, fn() -> Sc)>: UnsafeUnpin,
impl<S, A, K, E, Fi, KF, C, V, R, Acc, Sc> UnwindSafe for GroupedConstraintStream<S, A, K, E, Fi, KF, C, V, R, Acc, Sc>where
E: UnwindSafe,
Fi: UnwindSafe,
KF: UnwindSafe,
C: UnwindSafe,
PhantomData<(fn() -> S, fn() -> A, 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