40 namespace Gecode {
namespace Int {
namespace Member {
54 vs.
add(home, x[
i].val());
118 return new (home)
Prop<View>(home, share, *
this);
126 return sizeof(*this);
155 assert(
x.size() > 0);
159 for (
int i=
x.size()-1;
i--; ) {
void eliminate(Term< BoolView > *t, int &n, long long int &d)
Eliminate assigned views.
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
Binary domain consistent equality propagator.
ExecStatus ES_SUBSUMED(Propagator &p)
virtual PropCost cost(const Space &, const ModEventDelta &med) const
Cost function.
Base-class for propagators.
Propagation has computed fixpoint.
void unique(const Space &home)
Remove all duplicate views from array (changes element order)
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Range iterator for integer views.
static ExecStatus post(Home home, ViewArray< View > &x, View y)
Post propagator for .
int p
Number of positive literals for node type.
static void add(Space &home, ValSet &vs, ViewArray< View > &x)
Add values of assigned views in x to value set va.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
Execution has resulted in failure.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
Range iterator for union of iterators.
ValSet vs
Value set storing the values of already assigned views.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
RelTest rtest_eq_dom(View x, View y)
Test whether views x and y are equal (use full domain information)
union Gecode::@518::NNF::@57 u
Union depending on nodetype t.
Node * x
Pointer to corresponding Boolean expression node.
Prop(Home home, ValSet &vs, ViewArray< View > &x, View y)
Constructor for posting.
bool assigned(View x, int v)
Whether x is assigned to value v.
bool same(const Space &home) const
Test whether array has multiple occurence of the same view.
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
Class for storing values of already assigned views.
int size(void) const
Return size of array (number of elements)
Gecode toplevel namespace
void update(Space &home, bool share, ValSet &vs)
Update value set during cloning.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
void eliminate(Space &home)
Eliminate views from x that are not equal to y or ar subsumed by vs.
void add(Space &home, int v)
Add value v to value set.