82 cbsdistinct(home,this->
id(),
x,send);
88 unsigned int& size_b)
const {
89 cbssize(
x,in,size,size_b);
120 if (
dc.available()) {
Base-class for both propagators and branchers.
Home class for posting propagators
Domain consistent distinct propagator.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for views x.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
Dom(Space &home, Dom< View > &p)
Constructor for cloning p.
DomCtrl< View > dc
Propagation controller.
static ExecStatus post(Home home, View x0, View x1, View x2)
Post propagator for views x.
static ExecStatus post(Home home, V0 x0, V1 x1)
Post propagator .
NaryPropagator(Space &home, NaryPropagator &p)
static PropCost quadratic(PropCost::Mod m, unsigned int n)
Quadratic complexity for modifier m and size measure n.
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
ModEventDelta med
A set of modification events (used during propagation)
ExecStatus ES_FIX_PARTIAL(Propagator &p, const ModEventDelta &med)
Propagator p has computed partial fixpoint
ExecStatus ES_SUBSUMED(Propagator &p)
Propagator p is subsumed
int ModEventDelta
Modification event deltas.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
ExecStatus prop_bnd(Space &home, ViewArray< View > &x, int &min_x, int &max_x)
Perform bounds consistent distinct propagation.
ExecStatus prop_val(Space &home, ViewArray< View > &)
Eliminate singletons by naive value propagation.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
const Gecode::ModEvent ME_INT_DOM
Domain operation has changed the domain.
Gecode toplevel namespace
@ ES_OK
Execution is okay.
@ ES_FIX
Propagation has computed fixpoint.
Post propagator for SetVar x