Skip to main content

solverforge_scoring/constraint/
mod.rs

1// Zero-erasure typed constraint infrastructure.
2//
3// This module provides a fully typed constraint evaluation system where
4// all closures are stored as concrete generic types - no Arc, no dyn,
5// fully monomorphized.
6//
7// # Key Benefits
8//
9// - **No hot-path erasure**: Filters and weights are generic type params
10// - **Inline evaluation**: No boxing or downcasting per predicate call
11// - **Monomorphized pipelines**: Each constraint is fully specialized
12
13#[macro_use]
14pub mod macros;
15#[macro_use]
16pub mod nary_incremental;
17
18pub mod balance;
19pub mod complemented;
20pub mod cross_bi_incremental;
21pub mod flattened_bi;
22pub mod grouped;
23pub mod if_exists;
24pub mod incremental;
25pub mod shared;
26
27#[cfg(test)]
28mod tests;
29
30pub use balance::BalanceConstraint;
31pub use complemented::ComplementedGroupConstraint;
32pub use cross_bi_incremental::IncrementalCrossBiConstraint;
33pub use flattened_bi::FlattenedBiConstraint;
34pub use grouped::GroupedUniConstraint;
35pub use if_exists::{ExistenceMode, IfExistsUniConstraint};
36pub use incremental::IncrementalUniConstraint;
37pub use nary_incremental::{
38    IncrementalBiConstraint, IncrementalPentaConstraint, IncrementalQuadConstraint,
39    IncrementalTriConstraint,
40};