Skip to main content

Module state

Module state 

Source
Expand description

Contains structures for the state containing the propagators and variables.

See State for more information.

Structs§

CurrentNogood
The current nogood that is being analyzed.
EmptyDomain
EmptyDomainConflict
A conflict because a domain became empty.
PredicateHeap
A max-heap of predicates. The keys are based on the trail positions of the predicates in the state, meaning predicates are popped in reverse trail order. Implied predicates are popped before the predicate on the trail that implies the predicate.
PropagatorConflict
A conflict stated by a propagator. A propagator that identifies a conflict that is not an empty domain, describes that conflict with this type.
PropagatorHandle
A typed wrapper around a propagator id that allows retrieving concrete propagators instead of type-erased instances Box<dyn Propagator>.
PropagatorId
An identifier to a propagator instance within the solver. Each propagator is assigned a unique identifier at runtime.
State
The State is the container of variables and propagators.

Enums§

Conflict
Information concerning the conflict returned by State::propagate_to_fixed_point.

Functions§

propagator_conflict
Convenience function to create PropagationStatusCP with a PropagatorConflict.

Type Aliases§

PropagationStatusCP
The result of invoking a constraint programming propagator. The propagation can either succeed or identify a conflict. The necessary conditions for the conflict must be captured in the error variant, i.e. a propositional conjunction.