Trait ConstraintSet
Source pub trait ConstraintSet<S, Sc: Score>: Send + Sync {
// Required methods
fn evaluate_all(&self, solution: &S) -> Sc;
fn constraint_count(&self) -> usize;
fn constraint_metadata(&self) -> Vec<ConstraintMetadata<'_>>;
fn evaluate_each<'a>(
&'a self,
solution: &S,
) -> Vec<ConstraintResult<'a, Sc>>;
fn evaluate_detailed<'a>(
&'a self,
solution: &S,
) -> Vec<ConstraintAnalysis<'a, 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);
}