Expand description
Core types and traits for the Propaga constraint solver.
This crate defines variables, domains, propagators, explanations, nogoods, and the propagation context used by the engine and search layers.
Re-exports§
pub use id::PropagatorId;pub use id::PropagatorKey;pub use id::VariableId;pub use id::VariableKey;
Modules§
Structs§
- Explanation
- Collected explanation for the latest conflict or propagation round.
- Float
Domain Snapshot - Snapshot of a float variable domain for propagation reads.
- Nogood
- Learned nogood: the conjunction of literals cannot all hold simultaneously.
- Nogood
Literal - Branch literal:
variablemust equalvaluefor this nogood to apply. - SetDomain
Snapshot - Snapshot of a set variable domain for propagation reads.
Enums§
- Bound
Kind - Kind of bound tightening applied to a domain.
- Change
Reason - Why a domain change occurred.
- Propaga
Error - Errors returned by the propagation engine.
- Propagation
Status - Result of a single propagator invocation or propagation round.
Traits§
- Domain
- Domain that can be cloned and stored in the engine.
- Domain
View - Read-only interface for inspecting a variable domain.
- Extended
Propagation Context - Extended propagation operations for set and float variables.
- Propagation
Context - Mutable propagation view used by propagators to read and tighten domains.
- Propagator
- A constraint propagator that reacts to domain changes on watched variables.