Skip to main content

ConstraintSet

Trait ConstraintSet 

Source
pub trait ConstraintSet<S, Sc>: Send + Sync
where Sc: Score,
{ // Required methods fn evaluate_all(&self, solution: &S) -> Sc; fn constraint_count(&self) -> usize; fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>; fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>; fn initialize_all(&mut self, solution: &S) -> Sc; fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc; fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc; fn reset_all(&mut self); }

Required Methods§

Source

fn evaluate_all(&self, solution: &S) -> Sc

Source

fn constraint_count(&self) -> usize

Source

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source

fn initialize_all(&mut self, solution: &S) -> Sc

Source

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source

fn reset_all(&mut self)

Implementations on Foreign Types§

Source§

impl<S, Sc> ConstraintSet<S, Sc> for ()
where S: Send + Sync, Sc: Score,

Source§

fn evaluate_all(&self, _solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, _solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, _solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, _solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, _solution: &S, _entity_index: usize, _descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, _solution: &S, _entity_index: usize, _descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0> ConstraintSet<S, Sc> for (C0,)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1> ConstraintSet<S, Sc> for (C0, C1)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2> ConstraintSet<S, Sc> for (C0, C1, C2)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3> ConstraintSet<S, Sc> for (C0, C1, C2, C3)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7, C8> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7, C8)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>, C8: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>, C8: IncrementalConstraint<S, Sc>, C9: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>, C8: IncrementalConstraint<S, Sc>, C9: IncrementalConstraint<S, Sc>, C10: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>, C8: IncrementalConstraint<S, Sc>, C9: IncrementalConstraint<S, Sc>, C10: IncrementalConstraint<S, Sc>, C11: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>, C8: IncrementalConstraint<S, Sc>, C9: IncrementalConstraint<S, Sc>, C10: IncrementalConstraint<S, Sc>, C11: IncrementalConstraint<S, Sc>, C12: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>, C8: IncrementalConstraint<S, Sc>, C9: IncrementalConstraint<S, Sc>, C10: IncrementalConstraint<S, Sc>, C11: IncrementalConstraint<S, Sc>, C12: IncrementalConstraint<S, Sc>, C13: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>, C8: IncrementalConstraint<S, Sc>, C9: IncrementalConstraint<S, Sc>, C10: IncrementalConstraint<S, Sc>, C11: IncrementalConstraint<S, Sc>, C12: IncrementalConstraint<S, Sc>, C13: IncrementalConstraint<S, Sc>, C14: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Source§

impl<S, Sc, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15> ConstraintSet<S, Sc> for (C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15)
where S: Send + Sync, Sc: Score, C0: IncrementalConstraint<S, Sc>, C1: IncrementalConstraint<S, Sc>, C2: IncrementalConstraint<S, Sc>, C3: IncrementalConstraint<S, Sc>, C4: IncrementalConstraint<S, Sc>, C5: IncrementalConstraint<S, Sc>, C6: IncrementalConstraint<S, Sc>, C7: IncrementalConstraint<S, Sc>, C8: IncrementalConstraint<S, Sc>, C9: IncrementalConstraint<S, Sc>, C10: IncrementalConstraint<S, Sc>, C11: IncrementalConstraint<S, Sc>, C12: IncrementalConstraint<S, Sc>, C13: IncrementalConstraint<S, Sc>, C14: IncrementalConstraint<S, Sc>, C15: IncrementalConstraint<S, Sc>,

Source§

fn evaluate_all(&self, solution: &S) -> Sc

Source§

fn constraint_count(&self) -> usize

Source§

fn evaluate_each(&self, solution: &S) -> Vec<ConstraintResult<Sc>>

Source§

fn evaluate_detailed(&self, solution: &S) -> Vec<ConstraintAnalysis<Sc>>

Source§

fn initialize_all(&mut self, solution: &S) -> Sc

Source§

fn on_insert_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn on_retract_all( &mut self, solution: &S, entity_index: usize, descriptor_index: usize, ) -> Sc

Source§

fn reset_all(&mut self)

Implementors§