solverforge-core 0.8.2

Core types and traits for SolverForge constraint solver
Documentation
/* Domain model traits for defining planning problems

These traits define the structure of a planning problem:
- `PlanningSolution`: The container for the complete problem and solution
- `PlanningEntity`: Things that can be planned/optimized
- `ProblemFact`: Immutable input data
- `PlanningId`: Unique identification for entities
*/

mod descriptor;
mod entity_ref;
pub mod listener;
pub mod supply;
mod traits;
mod value_range;
mod variable;

#[cfg(test)]
mod tests;

pub use descriptor::{
    EntityDescriptor, ProblemFactDescriptor, SolutionDescriptor, UsizeEntityValueProvider,
    UsizeGetter, UsizeSetter, VariableDescriptor,
};
pub use entity_ref::{EntityCollectionExtractor, EntityExtractor, EntityRef};
pub use listener::{
    ListVariableListener, ListVariableNotification, VariableListener, VariableNotification,
};
pub use supply::{AnchorSupply, ElementPosition, InverseSupply, ListStateSupply};
pub use traits::{ListVariableSolution, PlanningEntity, PlanningId, PlanningSolution, ProblemFact};
pub use value_range::{
    ComputedValueRangeProvider, FieldValueRangeProvider, IntegerRange, StaticValueRange,
    ValueRangeProvider,
};
pub use variable::{ChainedVariableInfo, ShadowVariableKind, ValueRangeType, VariableType};