Gecode::NGL Class Reference
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. | |
| NGL (Space &home) | |
| Constructor for creation. | |
| NGL (Space &home, NGL &ngl) | |
| Constructor for cloning ngl. | |
| virtual void | subscribe (Space &home, Propagator &p)=0 |
| Subscribe propagator p to all views of the no-good literal. | |
| virtual void | cancel (Space &home, Propagator &p)=0 |
| Cancel propagator p from all views of the no-good literal. | |
| virtual void | reschedule (Space &home, Propagator &p)=0 |
| Schedule propagator p for all views of the no-good literal. | |
| virtual NGL::Status | status (const Space &home) const =0 |
| Test the status of the no-good literal. | |
| virtual ExecStatus | prune (Space &home)=0 |
| Propagate the negation of the no-good literal. | |
| virtual NGL * | copy (Space &home)=0 |
| Create copy. | |
| virtual bool | notice (void) const |
| Whether dispose must always be called (returns false). | |
| virtual size_t | dispose (Space &home) |
| Dispose. | |
| virtual | ~NGL (void) |
| To avoid warnings. | |
Static Public Member Functions | |
| static void * | operator new (size_t s) |
| Not used. | |
Internal management routines | |
|
| |
| bool | leaf (void) const |
| Test whether literal is a leaf. | |
| NGL * | next (void) const |
| Return pointer to next literal. | |
| void | leaf (bool l) |
| Mark literal as leaf or not. | |
| void | next (NGL *n) |
| Set pointer to next literal | |
| NGL * | add (NGL *n, bool l) |
| Add node n and mark it as leaf l and return n. | |
Memory management | |
|
| |
| static void * | operator new (size_t s, Space &home) |
| Allocate memory from space. | |
| static void | operator delete (void *s, Space &home) |
| Return memory to space. | |
| static void | operator delete (void *p) |
| Needed for exceptions. | |
Detailed Description
No-good literal recorded during search.
Definition at line 1340 of file core.hpp.
Member Enumeration Documentation
| enum Gecode::NGL::Status |
Constructor & Destructor Documentation
| Gecode::NGL::NGL | ( | void | ) | [inline] |
| Gecode::NGL::NGL | ( | Space & | home | ) | [inline] |
Member Function Documentation
| virtual void Gecode::NGL::subscribe | ( | Space & | home, | |
| Propagator & | p | |||
| ) | [pure virtual] |
Subscribe propagator p to all views of the no-good literal.
Implemented in Gecode::ViewValNGL< View, Val, pc >, Gecode::Search::NoNGL, Gecode::ViewValNGL< View, int, PC_INT_BND >, Gecode::ViewValNGL< View, int, PC_INT_VAL >, Gecode::ViewValNGL< View, int, PC_INT_DOM >, and Gecode::ViewValNGL< SetView, int, PC_SET_ANY >.
| virtual void Gecode::NGL::cancel | ( | Space & | home, | |
| Propagator & | p | |||
| ) | [pure virtual] |
Cancel propagator p from all views of the no-good literal.
Implemented in Gecode::ViewValNGL< View, Val, pc >, Gecode::Search::NoNGL, Gecode::ViewValNGL< View, int, PC_INT_BND >, Gecode::ViewValNGL< View, int, PC_INT_VAL >, Gecode::ViewValNGL< View, int, PC_INT_DOM >, and Gecode::ViewValNGL< SetView, int, PC_SET_ANY >.
| virtual void Gecode::NGL::reschedule | ( | Space & | home, | |
| Propagator & | p | |||
| ) | [pure virtual] |
Schedule propagator p for all views of the no-good literal.
Implemented in Gecode::ViewValNGL< View, Val, pc >, Gecode::Search::NoNGL, Gecode::ViewValNGL< View, int, PC_INT_BND >, Gecode::ViewValNGL< View, int, PC_INT_VAL >, Gecode::ViewValNGL< View, int, PC_INT_DOM >, and Gecode::ViewValNGL< SetView, int, PC_SET_ANY >.
| virtual NGL::Status Gecode::NGL::status | ( | const Space & | home | ) | const [pure virtual] |
Test the status of the no-good literal.
Implemented in Gecode::Int::Branch::EqNGL< View >, Gecode::Int::Branch::NqNGL< View >, Gecode::Int::Branch::LqNGL< View >, Gecode::Int::Branch::GqNGL< View >, Gecode::Search::NoNGL, Gecode::Set::Branch::IncNGL, and Gecode::Set::Branch::ExcNGL.
| virtual ExecStatus Gecode::NGL::prune | ( | Space & | home | ) | [pure virtual] |
Propagate the negation of the no-good literal.
Implemented in Gecode::Int::Branch::EqNGL< View >, Gecode::Int::Branch::NqNGL< View >, Gecode::Int::Branch::LqNGL< View >, Gecode::Int::Branch::GqNGL< View >, Gecode::Search::NoNGL, Gecode::Set::Branch::IncNGL, and Gecode::Set::Branch::ExcNGL.
| bool Gecode::NGL::notice | ( | void | ) | const [virtual] |
| size_t Gecode::NGL::dispose | ( | Space & | home | ) | [inline, virtual] |
| bool Gecode::NGL::leaf | ( | void | ) | const [inline] |
| NGL * Gecode::NGL::next | ( | void | ) | const [inline] |
| void Gecode::NGL::leaf | ( | bool | l | ) | [inline] |
| void Gecode::NGL::next | ( | NGL * | n | ) | [inline] |
| void * Gecode::NGL::operator new | ( | size_t | s, | |
| Space & | home | |||
| ) | [inline, static] |
| void Gecode::NGL::operator delete | ( | void * | s, | |
| Space & | home | |||
| ) | [inline, static] |
| void Gecode::NGL::operator delete | ( | void * | p | ) | [inline, static] |
| static void* Gecode::NGL::operator new | ( | size_t | s | ) | [static] |
Not used.
The documentation for this class was generated from the following files:
