solverforge_core/domain/
mod.rs

1//! Domain model traits for defining planning problems
2//!
3//! These traits define the structure of a planning problem:
4//! - `PlanningSolution`: The container for the complete problem and solution
5//! - `PlanningEntity`: Things that can be planned/optimized
6//! - `ProblemFact`: Immutable input data
7//! - `PlanningId`: Unique identification for entities
8
9mod descriptor;
10mod entity_ref;
11pub mod listener;
12pub mod supply;
13mod traits;
14mod value_range;
15mod variable;
16
17pub use descriptor::{
18    EntityDescriptor, ProblemFactDescriptor, SolutionDescriptor, VariableDescriptor,
19};
20pub use entity_ref::{EntityExtractor, EntityRef, TypedEntityExtractor};
21pub use listener::{
22    ListVariableListener, ListVariableNotification, VariableListener, VariableNotification,
23};
24pub use supply::{
25    AnchorVariableSupply, DemandKey, ElementPosition, ExternalizedAnchorVariableSupply,
26    ExternalizedSingletonInverseVariableSupply, IndexVariableSupply, InverseVariableSupply,
27    ListVariableStateDemand, ListVariableStateSupply, SingletonInverseVariableSupply, Supply,
28    SupplyDemand, SupplyManager,
29};
30pub use traits::{PlanningEntity, PlanningId, PlanningSolution, ProblemFact};
31pub use value_range::{
32    ComputedValueRangeProvider, FieldValueRangeProvider, IntegerRange, StaticValueRange,
33    ValueRangeProvider,
34};
35pub use variable::{ChainedVariableInfo, ShadowVariableKind, ValueRangeType, VariableType};