Generated on Thu Jan 31 2019 20:56:50 for Gecode by doxygen 1.8.15
Gecode::Int::Extensional::Base< View, subscribe > Class Template Reference

Base for domain consistent extensional propagation More...

#include <extensional.hh>

Public Member Functions

virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function (defined as high quadratic) More...
 
virtual void reschedule (Space &home)
 Schedule function. More...
 
virtual size_t dispose (Space &home)
 Delete propagator and return its size. More...
 
- Public Member Functions inherited from Gecode::Propagator
virtual ExecStatus propagate (Space &home, const ModEventDelta &med)=0
 Propagation function. More...
 
ModEventDelta modeventdelta (void) const
 Return the modification event delta. More...
 
virtual ExecStatus advise (Space &home, Advisor &a, const Delta &d)
 Advise function. More...
 
virtual void advise (Space &home, Advisor &a)
 Run advisor a to be run on failure in failed space. More...
 
double afc (void) const
 Return the accumlated failure count. More...
 
unsigned int id (void) const
 Return propagator id. More...
 
PropagatorGroup group (void) const
 Return group propagator belongs to. More...
 
void group (PropagatorGroup g)
 Add propagator to group g. More...
 
bool disabled (void) const
 Whether propagator is currently disabled. More...
 
- Public Member Functions inherited from Gecode::Actor
virtual Actorcopy (Space &home, bool share)=0
 Create copy. More...
 
virtual ~Actor (void)
 To avoid warnings. More...
 

Protected Member Functions

TupleSet::TupleSetIts (void)
 
 Base (Space &home, bool share, Base< View, subscribe > &p)
 Constructor for cloning p. More...
 
 Base (Home home, ViewArray< View > &x, const TupleSet &t)
 Constructor for posting. More...
 
void init_last (Space &home, Tuple **source, Tuple *base)
 Initialize last support. More...
 
Tuple last (int i, int n)
 Find last support for view at position i and value n. More...
 
Tuple last_next (int i, int n)
 Find last support for view at position i and value n. More...
 
void init_dom (Space &home, Domain dom)
 Initialize domain information. More...
 
bool valid (Tuple t, Domain dom)
 Check wether tuple is valid for domain. More...
 
Tuple find_support (Domain dom, int i, int n)
 Find support for view at position i and value n. More...
 
- Protected Member Functions inherited from Gecode::Propagator
 Propagator (Home home)
 Constructor for posting. More...
 
 Propagator (Space &home, bool share, Propagator &p)
 Constructor for cloning p. More...
 
Propagatorfwd (void) const
 Return forwarding pointer during copying. More...
 
GPI::Infogpi (void)
 Provide access to global propagator information. More...
 

Protected Attributes

ViewArray< View > x
 Variables. More...
 
TupleSet tupleSet
 Definition of constraint. More...
 
Tuple ** last_data
 Last tuple looked at Access real tuple-set. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Gecode::Actor
static void * operator new (size_t s)
 Not used. More...
 
static void operator delete (void *p)
 Not used. More...
 
static void * operator new (size_t s, Space &home)
 Allocate memory from space. More...
 
static void operator delete (void *p, Space &home)
 No-op for exceptions. More...
 

Detailed Description

template<class View, bool subscribe = true>
class Gecode::Int::Extensional::Base< View, subscribe >

Base for domain consistent extensional propagation

This class contains support for implementing domain consistent extensional propagation algorithms that use positive tuple sets and a last data structure.

Requires

Definition at line 244 of file extensional.hh.

Constructor & Destructor Documentation

◆ Base() [1/2]

template<class View, bool subscribe>
Gecode::Int::Extensional::Base< View, subscribe >::Base ( Space home,
bool  share,
Base< View, subscribe > &  p 
)
inlineprotected

Constructor for cloning p.

Definition at line 64 of file base.hpp.

◆ Base() [2/2]

template<class View, bool subscribe>
Gecode::Int::Extensional::Base< View, subscribe >::Base ( Home  home,
ViewArray< View > &  x,
const TupleSet t 
)
inlineprotected

Constructor for posting.

Definition at line 49 of file base.hpp.

Member Function Documentation

◆ ts()

template<class View , bool subscribe>
TupleSet::TupleSetI * Gecode::Int::Extensional::Base< View, subscribe >::ts ( void  )
inlineprotected

Definition at line 85 of file base.hpp.

◆ init_last()

template<class View , bool subscribe>
void Gecode::Int::Extensional::Base< View, subscribe >::init_last ( Space home,
Tuple **  source,
Tuple base 
)
inlineprotected

Initialize last support.

Definition at line 74 of file base.hpp.

◆ last()

template<class View , bool subscribe>
Tuple Gecode::Int::Extensional::Base< View, subscribe >::last ( int  i,
int  n 
)
inlineprotected

Find last support for view at position i and value n.

Definition at line 106 of file base.hpp.

◆ last_next()

template<class View , bool subscribe>
Tuple Gecode::Int::Extensional::Base< View, subscribe >::last_next ( int  i,
int  n 
)
inlineprotected

Find last support for view at position i and value n.

Definition at line 112 of file base.hpp.

◆ init_dom()

template<class View , bool subscribe>
void Gecode::Int::Extensional::Base< View, subscribe >::init_dom ( Space home,
Domain  dom 
)
inlineprotected

Initialize domain information.

Definition at line 125 of file base.hpp.

◆ valid()

template<class View , bool subscribe>
bool Gecode::Int::Extensional::Base< View, subscribe >::valid ( Tuple  t,
Domain  dom 
)
inlineprotected

Check wether tuple is valid for domain.

Definition at line 136 of file base.hpp.

◆ find_support()

template<class View , bool subscribe>
Tuple Gecode::Int::Extensional::Base< View, subscribe >::find_support ( Domain  dom,
int  i,
int  n 
)
inlineprotected

Find support for view at position i and value n.

Definition at line 145 of file base.hpp.

◆ cost()

template<class View , bool subscribe>
PropCost Gecode::Int::Extensional::Base< View, subscribe >::cost ( const Space home,
const ModEventDelta med 
) const
virtual

Cost function (defined as high quadratic)

Implements Gecode::Propagator.

Reimplemented in Gecode::Int::Extensional::Incremental< View >, and Gecode::Int::Extensional::Basic< View, shared >.

Definition at line 98 of file base.hpp.

◆ reschedule()

template<class View , bool subscribe>
void Gecode::Int::Extensional::Base< View, subscribe >::reschedule ( Space home)
virtual

Schedule function.

Implements Gecode::Propagator.

Reimplemented in Gecode::Int::Extensional::Incremental< View >.

Definition at line 91 of file base.hpp.

◆ dispose()

template<class View , bool subscribe>
size_t Gecode::Int::Extensional::Base< View, subscribe >::dispose ( Space home)
inlinevirtual

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Reimplemented in Gecode::Int::Extensional::Incremental< View >.

Definition at line 155 of file base.hpp.

Member Data Documentation

◆ x

template<class View, bool subscribe = true>
ViewArray<View> Gecode::Int::Extensional::Base< View, subscribe >::x
protected

Variables.

Definition at line 246 of file extensional.hh.

◆ tupleSet

template<class View, bool subscribe = true>
TupleSet Gecode::Int::Extensional::Base< View, subscribe >::tupleSet
protected

Definition of constraint.

Definition at line 247 of file extensional.hh.

◆ last_data

template<class View, bool subscribe = true>
Tuple** Gecode::Int::Extensional::Base< View, subscribe >::last_data
protected

Last tuple looked at Access real tuple-set.

Definition at line 248 of file extensional.hh.


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