pub struct TriConstraintStream<S, A, K, E, KE, F, Sc>where
Sc: Score,{ /* private fields */ }Implementations§
Source§impl<S, A, K, E, KE, Sc> TriConstraintStream<S, A, K, E, KE, TrueFilter, Sc>
impl<S, A, K, E, KE, Sc> TriConstraintStream<S, A, K, E, KE, TrueFilter, Sc>
pub fn new_self_join(extractor: E, key_extractor: KE) -> Self
Source§impl<S, A, K, E, KE, F, Sc> TriConstraintStream<S, A, K, E, KE, F, Sc>
impl<S, A, K, E, KE, F, Sc> TriConstraintStream<S, A, K, E, KE, F, Sc>
pub fn new_self_join_with_filter( extractor: E, key_extractor: KE, filter: F, ) -> Self
pub fn filter<P>( self, predicate: P, ) -> TriConstraintStream<S, A, K, E, KE, AndTriFilter<F, FnTriFilter<impl Fn(&S, &A, &A, &A) -> bool + Send + Sync>>, Sc>
pub fn penalize(
self,
weight: Sc,
) -> TriConstraintBuilder<S, A, K, E, KE, F, impl Fn(&A, &A, &A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn penalize_with<W>( self, weight_fn: W, ) -> TriConstraintBuilder<S, A, K, E, KE, F, W, Sc>
pub fn penalize_hard_with<W>( self, weight_fn: W, ) -> TriConstraintBuilder<S, A, K, E, KE, F, W, Sc>
pub fn reward(
self,
weight: Sc,
) -> TriConstraintBuilder<S, A, K, E, KE, F, impl Fn(&A, &A, &A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn reward_with<W>( self, weight_fn: W, ) -> TriConstraintBuilder<S, A, K, E, KE, F, W, Sc>
pub fn reward_hard_with<W>( self, weight_fn: W, ) -> TriConstraintBuilder<S, A, K, E, KE, F, W, Sc>
pub fn penalize_hard(
self,
) -> TriConstraintBuilder<S, A, K, E, KE, F, impl Fn(&A, &A, &A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn penalize_soft(
self,
) -> TriConstraintBuilder<S, A, K, E, KE, F, impl Fn(&A, &A, &A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn reward_hard(
self,
) -> TriConstraintBuilder<S, A, K, E, KE, F, impl Fn(&A, &A, &A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn reward_soft(
self,
) -> TriConstraintBuilder<S, A, K, E, KE, F, impl Fn(&A, &A, &A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
Source§impl<S, A, K, E, KE, F, Sc> TriConstraintStream<S, A, K, E, KE, F, Sc>
impl<S, A, K, E, KE, F, Sc> TriConstraintStream<S, A, K, E, KE, F, Sc>
pub fn join<J>(
self,
joiner: J,
) -> QuadConstraintStream<S, A, K, E, KE, impl QuadFilter<S, A, A, A, A>, Sc>where
J: Joiner<A, A> + 'static,
F: 'static,
Trait Implementations§
Auto Trait Implementations§
impl<S, A, K, E, KE, F, Sc> Freeze for TriConstraintStream<S, A, K, E, KE, F, Sc>
impl<S, A, K, E, KE, F, Sc> RefUnwindSafe for TriConstraintStream<S, A, K, E, KE, F, Sc>
impl<S, A, K, E, KE, F, Sc> Send for TriConstraintStream<S, A, K, E, KE, F, Sc>
impl<S, A, K, E, KE, F, Sc> Sync for TriConstraintStream<S, A, K, E, KE, F, Sc>
impl<S, A, K, E, KE, F, Sc> Unpin for TriConstraintStream<S, A, K, E, KE, F, Sc>
impl<S, A, K, E, KE, F, Sc> UnsafeUnpin for TriConstraintStream<S, A, K, E, KE, F, Sc>
impl<S, A, K, E, KE, F, Sc> UnwindSafe for TriConstraintStream<S, A, K, E, KE, F, 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