Public Member Functions | |
bool | attach (Solver &s) |
void | detach () |
bool | handleMessages () |
InterruptHandler () | |
bool | propagateFixpoint (Solver &, PostPropagator *) |
Shall enqueue and propagate new assignments implied by this propagator. | |
bool | terminate () |
bool | terminated () const |
Public Attributes | |
Solver * | solver |
Clasp::atomic< int > | term |
Definition at line 269 of file solve_algorithms.cpp.
Definition at line 270 of file solve_algorithms.cpp.
bool Clasp::SequentialSolve::InterruptHandler::attach | ( | Solver & | s | ) | [inline] |
Definition at line 273 of file solve_algorithms.cpp.
void Clasp::SequentialSolve::InterruptHandler::detach | ( | ) | [inline] |
Definition at line 274 of file solve_algorithms.cpp.
bool Clasp::SequentialSolve::InterruptHandler::handleMessages | ( | ) | [inline, virtual] |
Implements Clasp::MessageHandler.
Definition at line 275 of file solve_algorithms.cpp.
bool Clasp::SequentialSolve::InterruptHandler::propagateFixpoint | ( | Solver & | s, |
PostPropagator * | ctx | ||
) | [inline, virtual] |
Shall enqueue and propagate new assignments implied by this propagator.
This function shall enqueue and propagate all assignments currently implied by this propagator until a fixpoint is reached w.r.t this post propagator or a conflict is detected.
s | The solver in which this post propagator is used. |
ctx | The post propagator from which this post propagator is called or 0 if no other post propagator is currently active. |
Typically, propagateFixpoint() should implemet a loop like this:
for (;;) { if (!assign_newly_implied_literals(s)){ return false; } if (s.queueSize() == 0) { return true; } if (!s.propagateUntil(this)) { return false; } }
Reimplemented from Clasp::MessageHandler.
Definition at line 276 of file solve_algorithms.cpp.
bool Clasp::SequentialSolve::InterruptHandler::terminate | ( | ) | [inline] |
Definition at line 272 of file solve_algorithms.cpp.
bool Clasp::SequentialSolve::InterruptHandler::terminated | ( | ) | const [inline] |
Definition at line 271 of file solve_algorithms.cpp.
Definition at line 277 of file solve_algorithms.cpp.
Definition at line 278 of file solve_algorithms.cpp.