Generated on for Gecode by doxygen 1.17.0
Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm > Class Template Reference

Domain consistent reified extensional propagator. More...

#include <gecode/int/extensional.hh>

Public Types

typedef View ViewType
typedef Compact< View, false >::ValidSupports ValidSupports
typedef Compact< View, false >::Range Range
typedef Compact< View, false >::CTAdvisor CTAdvisor

Public Member Functions

template<class TableProp>
 ReCompact (Space &home, TableProp &p)
 Constructor for cloning p.
 ReCompact (Home home, ViewArray< View > &x, const TupleSet &ts, CtrlView b)
 Constructor for posting.
virtual void reschedule (Space &home)
 Schedule function.
virtual ExecStatus propagate (Space &home, const ModEventDelta &med)
 Perform propagation.
virtual Actorcopy (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.
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 accumulated 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 Public Member Functions

static ExecStatus post_pos (Home home, ViewArray< View > &x, const TupleSet &ts)
static ExecStatus post_neg (Home home, ViewArray< View > &x, const TupleSet &ts)
static ExecStatus post (Home home, ViewArray< View > &x, const TupleSet &ts, CtrlView b)
 Post propagator for views x and table t.
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.

Public Attributes

Table table
 Current table.
CtrlView b
 Boolean control view.
ViewArray< Viewy
 The views (for rewriting).

Static Public Attributes

static constexpr ReifyMode mode = rm

Additional Inherited Members

Protected Types inherited from Gecode::Int::Extensional::Compact< View, false >
typedef TupleSet::Range Range
 Range type for supports.
typedef CompactAdvisor< View, pos, false > CTAdvisor
 Advisor for updating current table.
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.
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 Rangerange (CTAdvisor &a, int n)
 Find range for n.
const BitSetDatasupports (CTAdvisor &a, int n)
 Return supports for value n.
Protected Member Functions inherited from Gecode::Propagator
 Propagator (Home home)
 Constructor for posting.
 Propagator (Space &home, Propagator &p)
 Constructor for cloning p.
Propagatorfwd (void) const
 Return forwarding pointer during copying.
Kernel::GPI::Infogpi (void)
 Provide access to global propagator information.
const unsigned int n_words
 Number of words in supports.
TupleSet ts
 The tuple set.
Council< CTAdvisorc
 The advisor council.

Detailed Description

template<class View, class Table, class CtrlView, ReifyMode rm>
class Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >

Domain consistent reified extensional propagator.

Definition at line 745 of file extensional.hh.

Member Typedef Documentation

◆ ViewType

template<class View, class Table, class CtrlView, ReifyMode rm>
typedef View Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::ViewType

Definition at line 748 of file extensional.hh.

◆ ValidSupports

template<class View, class Table, class CtrlView, ReifyMode rm>
typedef Compact<View,false>::ValidSupports Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::ValidSupports

Definition at line 750 of file extensional.hh.

◆ Range

template<class View, class Table, class CtrlView, ReifyMode rm>
typedef Compact<View,false>::Range Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::Range

Definition at line 751 of file extensional.hh.

◆ CTAdvisor

template<class View, class Table, class CtrlView, ReifyMode rm>
typedef Compact<View,false>::CTAdvisor Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::CTAdvisor

Definition at line 752 of file extensional.hh.

Constructor & Destructor Documentation

◆ ReCompact() [1/2]

template<class View, class Table, class CtrlView, ReifyMode rm>
template<class TableProp>
Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::ReCompact ( Space & home,
TableProp & p )
inline

Constructor for cloning p.

Definition at line 1193 of file compact.hpp.

◆ ReCompact() [2/2]

template<class View, class Table, class CtrlView, ReifyMode rm>
Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::ReCompact ( Home home,
ViewArray< View > & x,
const TupleSet & ts,
CtrlView b )
inline

Constructor for posting.

Definition at line 1208 of file compact.hpp.

Member Function Documentation

◆ post_pos()

template<class View, class Table, class CtrlView, ReifyMode rm>
ExecStatus Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::post_pos ( Home home,
ViewArray< View > & x,
const TupleSet & ts )
static

Definition at line 1235 of file compact.hpp.

◆ post_neg()

template<class View, class Table, class CtrlView, ReifyMode rm>
ExecStatus Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::post_neg ( Home home,
ViewArray< View > & x,
const TupleSet & ts )
static

Definition at line 1242 of file compact.hpp.

◆ reschedule()

template<class View, class Table, class CtrlView, ReifyMode rm>
void Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::reschedule ( Space & home)
virtual

Schedule function.

Implements Gecode::Propagator.

Definition at line 1257 of file compact.hpp.

◆ propagate()

template<class View, class Table, class CtrlView, ReifyMode rm>
ExecStatus Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::propagate ( Space & home,
const ModEventDelta & med )
virtual

Perform propagation.

Implements Gecode::Propagator.

Definition at line 1263 of file compact.hpp.

◆ copy()

template<class View, class Table, class CtrlView, ReifyMode rm>
Actor * Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::copy ( Space & home)
virtual

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 1201 of file compact.hpp.

◆ post()

template<class View, class Table, class CtrlView, ReifyMode rm>
ExecStatus Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::post ( Home home,
ViewArray< View > & x,
const TupleSet & ts,
CtrlView b )
inlinestatic

Post propagator for views x and table t.

Definition at line 1217 of file compact.hpp.

◆ dispose()

template<class View, class Table, class CtrlView, ReifyMode rm>
size_t Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::dispose ( Space & home)
inlinevirtual

Delete propagator and return its size.

Reimplemented from Gecode::Int::Extensional::Compact< View, false >.

Definition at line 1249 of file compact.hpp.

◆ advise()

template<class View, class Table, class CtrlView, ReifyMode rm>
ExecStatus Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::advise ( Space & home,
Advisor & a,
const Delta & d )
virtual

Give advice to propagator.

Reimplemented from Gecode::Propagator.

Definition at line 1270 of file compact.hpp.

Member Data Documentation

◆ mode

template<class View, class Table, class CtrlView, ReifyMode rm>
ReifyMode Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::mode = rm
staticconstexpr

Definition at line 749 of file extensional.hh.

◆ table

template<class View, class Table, class CtrlView, ReifyMode rm>
Table Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::table

Current table.

Definition at line 761 of file extensional.hh.

◆ b

template<class View, class Table, class CtrlView, ReifyMode rm>
CtrlView Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::b

Boolean control view.

Definition at line 763 of file extensional.hh.

◆ y

template<class View, class Table, class CtrlView, ReifyMode rm>
ViewArray<View> Gecode::Int::Extensional::ReCompact< View, Table, CtrlView, rm >::y

The views (for rewriting).

Definition at line 765 of file extensional.hh.


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