pub struct UniConstraintStream<S, A, E, F, Sc>where
Sc: Score,{ /* private fields */ }Implementations§
Source§impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>
impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>
pub fn project<P>(
self,
projection: P,
) -> ProjectedConstraintStream<S, P::Out, SingleProjectedSource<S, A, E, F, P, P::Out>, TrueFilter, Sc>where
P: Projection<A> + 'static,
Source§impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>where
S: Send + Sync + 'static,
A: UnassignedEntity<S>,
E: CollectionExtract<S, Item = A>,
F: UniFilter<S, A>,
Sc: Score + 'static,
impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>where
S: Send + Sync + 'static,
A: UnassignedEntity<S>,
E: CollectionExtract<S, Item = A>,
F: UniFilter<S, A>,
Sc: Score + 'static,
pub fn unassigned( self, ) -> UniConstraintStream<S, A, E, AndUniFilter<F, FnUniFilter<fn(&S, &A) -> bool>>, Sc>
Source§impl<S, A, E, Sc> UniConstraintStream<S, A, E, TrueFilter, Sc>
impl<S, A, E, Sc> UniConstraintStream<S, A, E, TrueFilter, Sc>
Source§impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>
impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>
pub fn flattened<B, Flat>( self, flatten: Flat, ) -> FlattenedCollectionTarget<S, A, B, E, F, FlattenVecExtract<Flat>, Sc>
pub fn filter<P>( self, predicate: P, ) -> UniConstraintStream<S, A, E, AndUniFilter<F, FnUniFilter<impl Fn(&S, &A) -> bool + Send + Sync>>, Sc>
pub fn join<J>(self, target: J) -> J::Outputwhere
J: JoinTarget<S, A, E, F, Sc>,
pub fn group_by<K, KF, C>( self, key_fn: KF, collector: C, ) -> GroupedConstraintStream<S, A, K, E, F, KF, C, Sc>
pub fn balance<K, KF>( self, key_fn: KF, ) -> BalanceConstraintStream<S, A, K, E, F, KF, Sc>
Source§impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>
impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>
pub fn if_exists<T>(self, target: T) -> T::Outputwhere
T: ExistenceTarget<S, A, E, F, Sc>,
pub fn if_not_exists<T>(self, target: T) -> T::Outputwhere
T: ExistenceTarget<S, A, E, F, Sc>,
Source§impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>
impl<S, A, E, F, Sc> UniConstraintStream<S, A, E, F, Sc>
pub fn penalize(
self,
weight: Sc,
) -> UniConstraintBuilder<S, A, E, F, impl Fn(&A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn penalize_with<W>( self, weight_fn: W, ) -> UniConstraintBuilder<S, A, E, F, W, Sc>
pub fn penalize_hard_with<W>( self, weight_fn: W, ) -> UniConstraintBuilder<S, A, E, F, W, Sc>
pub fn reward(
self,
weight: Sc,
) -> UniConstraintBuilder<S, A, E, F, impl Fn(&A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn reward_with<W>( self, weight_fn: W, ) -> UniConstraintBuilder<S, A, E, F, W, Sc>
pub fn reward_hard_with<W>( self, weight_fn: W, ) -> UniConstraintBuilder<S, A, E, F, W, Sc>
pub fn penalize_hard(
self,
) -> UniConstraintBuilder<S, A, E, F, impl Fn(&A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn penalize_soft(
self,
) -> UniConstraintBuilder<S, A, E, F, impl Fn(&A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn reward_hard(
self,
) -> UniConstraintBuilder<S, A, E, F, impl Fn(&A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
pub fn reward_soft(
self,
) -> UniConstraintBuilder<S, A, E, F, impl Fn(&A) -> Sc + Send + Sync, Sc>where
Sc: Copy,
Trait Implementations§
Source§impl<S, A, E, Sc> CollectionExtract<S> for UniConstraintStream<S, A, E, TrueFilter, Sc>
impl<S, A, E, Sc> CollectionExtract<S> for UniConstraintStream<S, A, E, TrueFilter, Sc>
Auto Trait Implementations§
impl<S, A, E, F, Sc> Freeze for UniConstraintStream<S, A, E, F, Sc>
impl<S, A, E, F, Sc> RefUnwindSafe for UniConstraintStream<S, A, E, F, Sc>where
E: RefUnwindSafe,
F: RefUnwindSafe,
impl<S, A, E, F, Sc> Send for UniConstraintStream<S, A, E, F, Sc>
impl<S, A, E, F, Sc> Sync for UniConstraintStream<S, A, E, F, Sc>
impl<S, A, E, F, Sc> Unpin for UniConstraintStream<S, A, E, F, Sc>
impl<S, A, E, F, Sc> UnsafeUnpin for UniConstraintStream<S, A, E, F, Sc>where
E: UnsafeUnpin,
F: UnsafeUnpin,
impl<S, A, E, F, Sc> UnwindSafe for UniConstraintStream<S, A, E, F, Sc>where
E: UnwindSafe,
F: 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