
No-good literal recorded during search. More...
#include <core.hpp>
Public Types | |
| enum | Status { FAILED, SUBSUMED, NONE } |
| The status of a no-good literal. More... | |
Public Member Functions | |
| NGL (void) | |
| Constructor for creation. More... | |
| NGL (Space &home) | |
| Constructor for creation. More... | |
| NGL (Space &home, bool share, NGL &ngl) | |
| Constructor for cloning ngl. More... | |
| virtual void | subscribe (Space &home, Propagator &p)=0 |
| Subscribe propagator p to all views of the no-good literal. More... | |
| virtual void | cancel (Space &home, Propagator &p)=0 |
| Cancel propagator p from all views of the no-good literal. More... | |
| virtual NGL::Status | status (const Space &home) const =0 |
| Test the status of the no-good literal. More... | |
| virtual ExecStatus | prune (Space &home)=0 |
| Propagate the negation of the no-good literal. More... | |
| virtual NGL * | copy (Space &home, bool share)=0 |
| Create copy. More... | |
| virtual bool | notice (void) const |
| Whether dispose must always be called (returns false) More... | |
| virtual size_t | dispose (Space &home) |
| Dispose. More... | |
Internal management routines | |
| bool | leaf (void) const |
| Test whether literal is a leaf. More... | |
| NGL * | next (void) const |
| Return pointer to next literal. More... | |
| void | leaf (bool l) |
| Mark literal as leaf or not. More... | |
| void | next (NGL *n) |
| Set pointer to next literal More... | |
| NGL * | add (NGL *n, bool l) |
| Add node n and mark it as leaf l and return n. More... | |
Memory management | |
| static void * | operator new (size_t s, Space &home) |
| Allocate memory from space. More... | |
| static void | operator delete (void *s, Space &home) |
| Return memory to space. More... | |
| static void | operator delete (void *p) |
| Needed for exceptions. More... | |
| enum Gecode::NGL::Status |
|
inline |
|
inline |
|
pure virtual |
Subscribe propagator p to all views of the no-good literal.
Implemented in Gecode::ViewValNGL< View, Val, pc >, Gecode::ViewValNGL< View, int, PC_INT_BND >, Gecode::ViewValNGL< View, int, PC_INT_VAL >, Gecode::ViewValNGL< View, int, PC_INT_DOM >, Gecode::ViewValNGL< SetView, int, PC_SET_ANY >, and Gecode::Search::Meta::NoNGL.
|
pure virtual |
Cancel propagator p from all views of the no-good literal.
Implemented in Gecode::ViewValNGL< View, Val, pc >, Gecode::ViewValNGL< View, int, PC_INT_BND >, Gecode::ViewValNGL< View, int, PC_INT_VAL >, Gecode::ViewValNGL< View, int, PC_INT_DOM >, Gecode::ViewValNGL< SetView, int, PC_SET_ANY >, and Gecode::Search::Meta::NoNGL.
|
pure virtual |
Test the status of the no-good literal.
Implemented in Gecode::Int::Branch::GqNGL< View >, Gecode::Int::Branch::LqNGL< View >, Gecode::Int::Branch::NqNGL< View >, Gecode::Int::Branch::EqNGL< View >, Gecode::Set::Branch::ExcNGL, Gecode::Set::Branch::IncNGL, and Gecode::Search::Meta::NoNGL.
|
pure virtual |
Propagate the negation of the no-good literal.
Implemented in Gecode::Int::Branch::GqNGL< View >, Gecode::Int::Branch::LqNGL< View >, Gecode::Int::Branch::NqNGL< View >, Gecode::Int::Branch::EqNGL< View >, Gecode::Set::Branch::ExcNGL, Gecode::Set::Branch::IncNGL, and Gecode::Search::Meta::NoNGL.
|
virtual |
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |