Domain consistent positive extensional propagator. More...
#include <extensional.hh>
Classes | |
class | Status |
Status management. More... | |
Public Types | |
typedef Compact< View, true >::ValidSupports | ValidSupports |
typedef Compact< View, true >::Range | Range |
typedef Compact< View, true >::CTAdvisor | CTAdvisor |
typedef Compact< View, true >::LostSupports | LostSupports |
Status management | |
enum | StatusType { SINGLE = 0 , MULTIPLE = 1 , NONE = 2 , PROPAGATING = 3 } |
Type of status. More... | |
Status | status |
Propagator status. | |
Table | table |
Current table. | |
bool | empty (void) const |
Check whether the table is empty. | |
template<class TableProp > | |
PosCompact (Space &home, TableProp &p) | |
Constructor for cloning p. | |
PosCompact (Home home, ViewArray< View > &x, const TupleSet &ts) | |
Constructor for posting. | |
virtual void | reschedule (Space &home) |
Schedule function. | |
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med) |
Perform propagation. | |
virtual Actor * | copy (Space &home) |
Copy propagator during cloning. | |
size_t | dispose (Space &home) |
Delete propagator and return its size. | |
virtual ExecStatus | advise (Space &home, Advisor &a, const Delta &d) |
Give advice to propagator. | |
static ExecStatus | post (Home home, ViewArray< View > &x, const TupleSet &ts) |
Post propagator for views x and table t. | |
Additional Inherited Members | |
![]() | |
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const |
Cost function. | |
![]() | |
ModEventDelta | modeventdelta (void) const |
Return the modification event delta. | |
virtual void | advise (Space &home, Advisor &a) |
Run advisor a to be run on failure in failed space. | |
double | afc (void) const |
Return the accumlated failure count. | |
unsigned int | id (void) const |
Return propagator id. | |
PropagatorGroup | group (void) const |
Return group propagator belongs to. | |
void | group (PropagatorGroup g) |
Add propagator to group g. | |
bool | disabled (void) const |
Whether propagator is currently disabled. | |
![]() | |
virtual | ~Actor (void) |
To avoid warnings. | |
![]() | |
static void * | operator new (size_t s, Space &home) |
Allocate memory from space. | |
static void | operator delete (void *p, Space &home) |
No-op for exceptions. | |
static void * | operator new (size_t s) |
Not used. | |
static void | operator delete (void *p) |
Not used. | |
![]() | |
![]() | |
typedef TupleSet::Range | Range |
Range type for supports. | |
![]() | |
bool | all (void) const |
Whether all variables are assigned. | |
bool | atmostone (void) const |
Whether at most one variable is unassigned. | |
Compact (Space &home, Compact &p) | |
Constructor for cloning p. | |
Compact (Home home, const TupleSet &ts) | |
Constructor for posting. | |
void | setup (Space &home, Table &table, ViewArray< View > &x) |
Setup the actual table. | |
bool | full (const Table &table) const |
Check whether the table covers the whole Cartedion product. | |
const Range * | range (CTAdvisor &a, int n) |
Find range for n. | |
const BitSetData * | supports (CTAdvisor &a, int n) |
Return supports for value n. | |
![]() | |
Propagator (Home home) | |
Constructor for posting. | |
Propagator (Space &home, Propagator &p) | |
Constructor for cloning p. | |
Propagator * | fwd (void) const |
Return forwarding pointer during copying. | |
Kernel::GPI::Info & | gpi (void) |
Provide access to global propagator information. | |
![]() | |
const unsigned int | n_words |
Number of words in supports. | |
TupleSet | ts |
The tuple set. | |
Council< CTAdvisor > | c |
The advisor council. | |
Domain consistent positive extensional propagator.
This propagator implements the compact-table propagation algorithm based on: J. Demeulenaere et. al., Compact-Table: Efficiently filtering table constraints with reversible sparse bit-sets, CP 2016.
Requires
Definition at line 504 of file extensional.hh.
Compact<View,true>::ValidSupports Gecode::Int::Extensional::PosCompact< View, Table >::ValidSupports |
Definition at line 506 of file extensional.hh.
Compact<View,true>::Range Gecode::Int::Extensional::PosCompact< View, Table >::Range |
Definition at line 507 of file extensional.hh.
Compact<View,true>::CTAdvisor Gecode::Int::Extensional::PosCompact< View, Table >::CTAdvisor |
Definition at line 508 of file extensional.hh.
Compact<View,true>::LostSupports Gecode::Int::Extensional::PosCompact< View, Table >::LostSupports |
Definition at line 509 of file extensional.hh.
enum Gecode::Int::Extensional::PosCompact::StatusType |
Type of status.
Enumerator | |
---|---|
SINGLE | A single view has been touched. |
MULTIPLE | Multiple view have been touched. |
NONE | No view has been touched. |
PROPAGATING | The propagator is currently running. |
Definition at line 521 of file extensional.hh.
|
inline |
Constructor for cloning p.
Definition at line 460 of file compact.hpp.
|
inline |
Constructor for posting.
Definition at line 514 of file compact.hpp.
bool Gecode::Int::Extensional::PosCompact< View, Table >::empty | ( | void | ) | const |
Check whether the table is empty.
|
virtual |
|
virtual |
|
virtual |
Copy propagator during cloning.
Implements Gecode::Actor.
Definition at line 467 of file compact.hpp.
|
inlinestatic |
Post propagator for views x and table t.
Definition at line 522 of file compact.hpp.
|
inlinevirtual |
Delete propagator and return its size.
Reimplemented from Gecode::Int::Extensional::Compact< View, true >.
Definition at line 531 of file compact.hpp.
|
virtual |
Give advice to propagator.
Reimplemented from Gecode::Propagator.
Definition at line 615 of file compact.hpp.
Status Gecode::Int::Extensional::PosCompact< View, Table >::status |
Propagator status.
Definition at line 549 of file extensional.hh.
Table Gecode::Int::Extensional::PosCompact< View, Table >::table |
Current table.
Definition at line 551 of file extensional.hh.