dlvhex
2.5.0
|
Base class for propagator callbacks. More...
#include <include/dlvhex2/GenuineSolver.h>
Public Member Functions | |
virtual void | propagate (InterpretationConstPtr partialInterpretation, InterpretationConstPtr assigned, InterpretationConstPtr changed)=0 |
This method is called by the solver whenever 1. |
Base class for propagator callbacks.
Definition at line 59 of file GenuineSolver.h.
virtual void PropagatorCallback::propagate | ( | InterpretationConstPtr | partialInterpretation, |
InterpretationConstPtr | assigned, | ||
InterpretationConstPtr | changed | ||
) | [pure virtual] |
This method is called by the solver whenever 1.
it cannot propagate by other means, or 2. when a model is complete but before getNextModel returns it.
partialInterpretation | Current partial assignment. Bits represent true atoms, cleared bits represent false or unassigned atoms. |
The method is expected to trigger propagations by adding appropriate nogoods to the reasoner using GenuineSolver::addNogood.
assigned | Set of currently assigned atoms. |
changes | Set of atoms which have been reassigned since the last call and thus have possibly(!) changed. |
Implemented in GenuineGuessAndCheckModelGenerator.
Referenced by InternalGroundASPSolver::getNextModel(), and CDNLSolver::getNextModel().