Gecode::Int::Extensional::PosCompact< View, Table > Class Template Reference
[Integer propagators]
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 |
Range type for supports. | |
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. |
Detailed Description
template<class View, class Table>
class Gecode::Int::Extensional::PosCompact< View, Table >
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
#include <gecode/int/extensional.hh>
Definition at line 504 of file extensional.hh.
Member Typedef Documentation
typedef Compact<View,true>::ValidSupports Gecode::Int::Extensional::PosCompact< View, Table >::ValidSupports |
Definition at line 506 of file extensional.hh.
typedef Compact<View,true>::Range Gecode::Int::Extensional::PosCompact< View, Table >::Range |
Range type for supports.
Reimplemented from Gecode::Int::Extensional::Compact< View, true >.
Definition at line 507 of file extensional.hh.
typedef Compact<View,true>::CTAdvisor Gecode::Int::Extensional::PosCompact< View, Table >::CTAdvisor |
Definition at line 508 of file extensional.hh.
typedef Compact<View,true>::LostSupports Gecode::Int::Extensional::PosCompact< View, Table >::LostSupports |
Definition at line 509 of file extensional.hh.
Member Enumeration Documentation
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.
Constructor & Destructor Documentation
Gecode::Int::Extensional::PosCompact< View, Table >::PosCompact | ( | Space & | home, | |
TableProp & | p | |||
) | [inline] |
Constructor for cloning p.
Definition at line 460 of file compact.hpp.
Gecode::Int::Extensional::PosCompact< View, Table >::PosCompact | ( | Home | home, | |
ViewArray< View > & | x, | |||
const TupleSet & | ts | |||
) | [inline] |
Constructor for posting.
Definition at line 514 of file compact.hpp.
Member Function Documentation
bool Gecode::Int::Extensional::PosCompact< View, Table >::empty | ( | void | ) | const |
Check whether the table is empty.
Reimplemented from Gecode::ActorLink.
void Gecode::Int::Extensional::PosCompact< View, Table >::reschedule | ( | Space & | home | ) | [inline, virtual] |
ExecStatus Gecode::Int::Extensional::PosCompact< View, Table >::propagate | ( | Space & | home, | |
const ModEventDelta & | med | |||
) | [inline, virtual] |
Actor * Gecode::Int::Extensional::PosCompact< View, Table >::copy | ( | Space & | home | ) | [inline, virtual] |
Copy propagator during cloning.
Implements Gecode::Actor.
Definition at line 467 of file compact.hpp.
ExecStatus Gecode::Int::Extensional::PosCompact< View, Table >::post | ( | Home | home, | |
ViewArray< View > & | x, | |||
const TupleSet & | ts | |||
) | [inline, static] |
Post propagator for views x and table t.
Definition at line 522 of file compact.hpp.
size_t Gecode::Int::Extensional::PosCompact< View, Table >::dispose | ( | Space & | home | ) | [inline, virtual] |
Delete propagator and return its size.
Reimplemented from Gecode::Int::Extensional::Compact< View, true >.
Definition at line 531 of file compact.hpp.
ExecStatus Gecode::Int::Extensional::PosCompact< View, Table >::advise | ( | Space & | home, | |
Advisor & | a, | |||
const Delta & | d | |||
) | [inline, virtual] |
Give advice to propagator.
Reimplemented from Gecode::Propagator.
Definition at line 615 of file compact.hpp.
Member Data Documentation
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.
The documentation for this class was generated from the following files:
- gecode/int/extensional.hh
- gecode/int/extensional/compact.hpp