Interface UserPropagator

All Known Implementing Classes:
AbstractUserPropagator, NQueensConstraintPropagator, NQueensEnumeratingPropagator

public interface UserPropagator
Allows user-defined propagators (~ theory solvers) to be implemented. It is advised to inherit from AbstractUserPropagator rather than implementing this interface directly.

A user propagator provides various callbacks that are invoked by the solver during the solving process. Within these callbacks, the user can react to and influence the solver by calling into the PropagatorBackend. For example, he can raise conflicts whenever the solver makes assignments inconsistent to the user-defined theory.