Expand description
Zero-erasure incremental constraint scoring for SolverForge.
This crate provides fully-typed incremental scoring infrastructure:
- Zero-erasure incremental constraints (
IncrementalUniConstraint,IncrementalBiConstraint, etc.) - Typed score directors (
TypedScoreDirector) - Tuple-based constraint sets (zero virtual dispatch)
§Architecture
All scoring is fully monomorphized - no Box<dyn Trait> in hot paths.
Closures are stored as generic type parameters, not Arc<dyn Fn>.
Re-exports§
pub use constraint::GroupedUniConstraint;pub use constraint::IncrementalBiConstraint;pub use constraint::IncrementalCrossBiConstraint;pub use constraint::IncrementalPentaConstraint;pub use constraint::IncrementalQuadConstraint;pub use constraint::IncrementalTriConstraint;pub use constraint::IncrementalUniConstraint;pub use api::constraint_set::ConstraintResult;pub use api::constraint_set::ConstraintSet;pub use api::constraint_set::IncrementalConstraint;pub use api::weight_overrides::ConstraintWeightOverrides;pub use api::weight_overrides::WeightProvider;pub use director::typed::TypedScoreDirector;pub use director::RecordingScoreDirector;pub use director::ScoreDirector;pub use director::ScoreDirectorFactory;pub use director::ShadowAwareScoreDirector;pub use director::ShadowVariableSupport;pub use director::SimpleScoreDirector;pub use director::SolvableSolution;pub use api::analysis::ConstraintAnalysis;pub use api::analysis::ConstraintJustification;pub use api::analysis::DetailedConstraintEvaluation;pub use api::analysis::DetailedConstraintMatch;pub use api::analysis::EntityRef;pub use api::analysis::Indictment;pub use api::analysis::IndictmentMap;pub use api::analysis::ScoreExplanation;pub use stream::BiConstraintBuilder;pub use stream::BiConstraintStream;pub use stream::ConstraintFactory;pub use stream::GroupedConstraintBuilder;pub use stream::GroupedConstraintStream;pub use stream::UniConstraintBuilder;pub use stream::UniConstraintStream;
Modules§
- api
- Zero-erasure constraint API.
- constraint
- Zero-erasure typed constraint infrastructure.
- director
- Score director implementations.
- stream
- Fluent constraint stream API for zero-erasure constraint programming.
Macros§
- impl_
get_ matches_ nary - Generates
get_matches()implementation for N-ary self-join constraints. - impl_
incremental_ nary_ constraint - Generates an incremental N-ary constraint struct and implementations.