Go to the documentation of this file.
40 namespace Gecode {
namespace Int {
namespace Member {
42 template<
class View, ReifyMode rm>
46 :
Prop<View>(home,vs,
x,
y),
b(b0) {
50 template<
class View, ReifyMode rm>
96 template<
class View, ReifyMode rm>
99 :
Prop<View>(home, share,
p) {
103 template<
class View, ReifyMode rm>
109 template<
class View, ReifyMode rm>
114 return sizeof(*this);
117 template<
class View, ReifyMode rm>
136 for (
int i=
x.size();
i--; )
145 switch (vs.compare(
y)) {
170 for (
int i=
x.size()-1;
i--; ) {
Post propagator for SetVar x
const Gecode::PropCond PC_BOOL_VAL
Propagate when a view becomes assigned (single value)
Post propagator for SetVar SetOpType SetVar y
@ RM_PMI
Inverse implication for reification.
ExecStatus ES_SUBSUMED(Propagator &p)
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
@ CS_NONE
Neither of the above.
Class for storing values of already assigned views.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to view.
Gecode::IntArgs i(4, 1, 2, 3, 4)
@ RM_IMP
Implication for reification.
bool same(const VarImpVar< VarImp > &y) const
Test whether variable is the same as y.
bool disjoint(I &i, J &j)
Check whether range iterators i and j are disjoint.
static ExecStatus post(Home home, View x0, View x1, CtrlView b)
Post domain consistent propagator .
union Gecode::@579::NNF::@61 u
Union depending on nodetype t.
Binary disequality propagator.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
void eliminate(Term< BoolView > *t, int &n, long long int &d)
Eliminate assigned views.
Boolean view for Boolean variables.
Gecode toplevel namespace
Base-class for propagators.
@ CS_SUBSET
First is subset of second iterator.
Range iterator for integer views.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Home class for posting propagators
struct Gecode::@579::NNF::@61::@62 b
For binary nodes (and, or, eqv)
Post propagator for SetVar SetOpType SetVar SetRelType r
Range iterator for union of iterators.
void update(Space &home, bool share, VarImpView< Var > &y)
Update this view to be a clone of view y.
ReProp(Home home, ValSet &vs, ViewArray< View > &x, View y, BoolView b)
Constructor for posting.
#define GECODE_NEVER
Assert that this command is never executed.
Iter::Ranges::CompareStatus compare(View x) const
Compare view x with value set.
BoolView b
Boolean control variable.
@ ES_FIX
Propagation has computed fixpoint.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
int ModEventDelta
Modification event deltas.
static ExecStatus post(Home home, ViewArray< View > &x, View y, BoolView b)
Post propagator for .
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
@ ES_OK
Execution is okay.
int p
Number of positive literals for node type.
@ CS_DISJOINT
Intersection is empty.
Reified membership propagator.