Gecode::Int::Extensional::Compact< View, pos > Class Template Reference

Base class for compact table propagator. More...

`#include <extensional.hh>`

## Classes

class | CTAdvisor
| Advisor for updating current table. More...
class | ValidSupports
| Iterator over valid supports. More...
class | LostSupports
| Iterator over lost supports. More...

## Protected Types

typedef TupleSet::Range | Range
| Range type for supports.

## Testing the number of unassigned variables

const unsigned int | n_words
| Number of words in supports.
TupleSet | ts
| The tuple set.
Council< CTAdvisor > | c
| The advisor council.
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.
template<class Table>
void | setup (Space &home, Table &table, ViewArray< View > &x)
| Setup the actual table.
template<class 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.
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const
| Cost function.
size_t | dispose (Space &home)
| Delete propagator and return its size.

## Additional Inherited Members

virtual void | reschedule (Space &home)=0
| Schedule function.
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med)=0
| Propagation function.
ModEventDelta | modeventdelta (void) const
| Return the modification event delta.
virtual ExecStatus | advise (Space &home, Advisor &a, const Delta &d)
| Advise function.
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.
Public Member Functions inherited from Gecode::Actor
virtual Actor * | copy (Space &home)=0
| Create copy.
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.
Protected Member Functions inherited from Gecode::Propagator
| 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.

## Detailed Description

template<class View, bool pos>
class Gecode::Int::Extensional::Compact< View, pos >

Base class for compact table propagator.

Definition at line 362 of file extensional.hh.

## Member Typedef Documentation

## Range

template<class View, bool pos>

typedef TupleSet::Range Gecode::Int::Extensional::Compact< View, pos >::Range

protected

Range type for supports.

Definition at line 365 of file extensional.hh.

## Constructor & Destructor Documentation

## Compact() [1/2]

template<class View, bool pos>

Gecode::Int::Extensional::Compact< View, pos >::Compact | ( | Space & | home,
|  | Compact< View, pos > & | p )

inline protected

Constructor for cloning p.

Definition at line 335 of file compact.hpp.

## Compact() [2/2]

template<class View, bool pos>

Gecode::Int::Extensional::Compact< View, pos >::Compact | ( | Home | home,
|  | const TupleSet & | ts )

inline protected

Constructor for posting.

Definition at line 342 of file compact.hpp.

## Member Function Documentation

## all()

template<class View, bool pos>

bool Gecode::Int::Extensional::Compact< View, pos >::all | ( | void |  | ) | const

inline protected

Whether all variables are assigned.

Definition at line 320 of file compact.hpp.

## atmostone()

template<class View, bool pos>

bool Gecode::Int::Extensional::Compact< View, pos >::atmostone | ( | void |  | ) | const

inline protected

Whether at most one variable is unassigned.

Definition at line 326 of file compact.hpp.

## setup()

template<class View, bool pos>
template<class Table>

void Gecode::Int::Extensional::Compact< View, pos >::setup | ( | Space & | home,
|  | Table & | table,
|  | ViewArray< View > & | x )

protected

Setup the actual table.

Definition at line 350 of file compact.hpp.

## full()

template<class View, bool pos>
template<class Table>

bool Gecode::Int::Extensional::Compact< View, pos >::full | ( | const Table & | table | ) | const

inline protected

Check whether the table covers the whole Cartedion product.

Definition at line 379 of file compact.hpp.

## range()

template<class View, bool pos>

const Compact< View, pos >::Range * Gecode::Int::Extensional::Compact< View, pos >::range | ( | CTAdvisor & | a,
|  | int | n )

protected

Find range for n.

Definition at line 116 of file compact.hpp.

## supports()

template<class View, bool pos>

const BitSetData * Gecode::Int::Extensional::Compact< View, pos >::supports | ( | CTAdvisor & | a,
|  | int | n )

inline protected

Return supports for value n.

Definition at line 148 of file compact.hpp.

## cost()

template<class View, bool pos>

PropCost Gecode::Int::Extensional::Compact< View, pos >::cost | ( | const Space & | home,
|  | const ModEventDelta & | med ) const

virtual

Cost function.

Implements Gecode::Propagator.

Definition at line 391 of file compact.hpp.

## dispose()

template<class View, bool pos>

size_t Gecode::Int::Extensional::Compact< View, pos >::dispose | ( | Space & | home | ) |

inline virtual

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Reimplemented in Gecode::Int::Extensional::NegCompact< View, Table >, Gecode::Int::Extensional::PosCompact< View, Table >, and Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >.

Definition at line 402 of file compact.hpp.

## Member Data Documentation

## n_words

template<class View, bool pos>

const unsigned int Gecode::Int::Extensional::Compact< View, pos >::n_words

protected

Number of words in supports.

Definition at line 465 of file extensional.hh.

## ts

template<class View, bool pos>

TupleSet Gecode::Int::Extensional::Compact< View, pos >::ts

protected

The tuple set.

Definition at line 467 of file extensional.hh.

## c

template<class View, bool pos>

Council<CTAdvisor> Gecode::Int::Extensional::Compact< View, pos >::c

protected

The advisor council.

Definition at line 469 of file extensional.hh.

The documentation for this class was generated from the following files:

- gecode/int/extensional.hh
- gecode/int/extensional/compact.hpp