40 namespace Gecode {
namespace Int {
namespace Distinct {
79 return new (home)
Dom<View>(home,share,*
this);
89 return home.ES_SUBSUMED(*
this);
91 return home.ES_FIX_PARTIAL(*
this,View::med(
ME_INT_DOM));
92 es = prop_bnd<View>(home,
x);
95 return home.ES_SUBSUMED(*
this);
96 es = prop_val<View,true>(home,
x);
99 return home.ES_SUBSUMED(*
this);
100 return home.ES_FIX_PARTIAL(*
this,View::med(
ME_INT_DOM));
108 if (dc.available()) {
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
static PropCost quadratic(PropCost::Mod m, unsigned int n)
Quadratic complexity for modifier m and size measure n.
Dom(Space &home, bool share, Dom< View > &p)
Constructor for cloning p.
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
Domain consistent distinct propagator.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for views x.
Propagation has computed fixpoint.
Base-class for both propagators and branchers.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
int p
Number of positive literals for node type.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Node * x
Pointer to corresponding Boolean expression node.
Ternary domain consistent distinct propagator.
const Gecode::ModEvent ME_INT_DOM
Domain operation has changed the domain.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
bool assigned(View x, int v)
Whether x is assigned to value v.
Binary disequality propagator.
int size(void) const
Return size of array (number of elements)
Gecode toplevel namespace
int ModEventDelta
Modification event deltas.
Home class for posting propagators