44 #ifndef __GECODE_INT_DISTINCT_HH__ 45 #define __GECODE_INT_DISTINCT_HH__ 57 namespace Gecode {
namespace Int {
namespace Distinct {
98 template<
class View,
bool complete>
206 bool sync(
Space& home);
228 bool available(
void);
void init(void)
Initialize links (self-linked)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
DomCtrl< View > dc
Propagation controller.
int min_x
Minimum (approximation) of view in x.
ViewArray< View > x
Views on which to perform bounds-propagation.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Val(Home home, ViewArray< View > &x)
Constructor for posting.
View-value graph for propagation.
Domain consistent distinct propagator.
ViewArray< View > x
Array of views.
Base-class for propagators.
void * mark(void *p)
Return marked pointer for p.
ExecStatus prune(Space &home, ViewArray< VX > &x, ConstIntView)
Base-class for both propagators and branchers.
Graph< View > g
Propagation is performed on a view-value graph.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
int p
Number of positive literals for node type.
ViewArray< View > y
Views on which to perform value-propagation (subset of x)
ModEventDelta med
A set of modification events (used during propagation)
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low linear)
View-value graph base class.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for view array x.
ExecStatus prop_val(Space &home, ViewArray< View > &x)
Eliminate singletons by naive value propagation.
Naive value distinct propagator.
Integer view for integer variables.
Ternary domain consistent distinct propagator.
bool assigned(View x, int v)
Whether x is assigned to value v.
int max_x
Maximum (approximation) of view in x.
Equal-if-then-else domain-consistent propagator.
Bounds consistent distinct propagator.
Gecode toplevel namespace
#define GECODE_INT_EXPORT
virtual void reschedule(Space &home)
Schedule function.
ExecStatus prop_bnd(Space &home, ViewArray< View > &x, int *minsorted, int *maxsorted)
int ModEventDelta
Modification event deltas.
Home class for posting propagators
Propagation controller for domain consistent distinct.