Go to the documentation of this file.
40 namespace Gecode {
namespace Int {
namespace Rel {
46 template<
class V0,
class V1>
51 template<
class V0,
class V1>
56 }
else if (x1.assigned()) {
58 }
else if (
same(x0,x1)) {
66 template<
class V0,
class V1>
71 template<
class V0,
class V1>
74 return new (home)
Nq<V0,V1>(home,share,*
this);
77 template<
class V0,
class V1>
83 template<
class V0,
class V1>
136 for (
int i=
n-1;
i>0;
i--)
140 assert(
x[
i].val() ==
v);
149 (void)
new (home)
NaryNq(home,
x);
157 return sizeof(*this);
166 for (
int i=1;
true;
i++)
174 for (
int i=
n-1;
i>0;
i--)
179 assert(
x[
i].val() ==
v);
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Post propagator for SetVar x
ExecStatus ES_SUBSUMED(Propagator &p)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, V0 x0, V1 x1)
Post propagator .
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
bool assigned(View x, int v)
Whether x is assigned to value v.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Gecode::IntArgs i(4, 1, 2, 3, 4)
bool same(const CachedView< View > &x, const CachedView< View > &y)
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
Base-class for both propagators and branchers.
Binary disequality propagator.
Gecode toplevel namespace
Home class for posting propagators
Nary disequality propagator.
static PropCost unary(PropCost::Mod m)
Single variable for modifier pcm.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
IntRelType swap(IntRelType irt)
Return swapped relation type of irt.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator .
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
@ ES_FIX
Propagation has computed fixpoint.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
int n
Number of negative literals for node type.
@ ES_FAILED
Execution has resulted in failure.
int ModEventDelta
Modification event deltas.
NaryNq(Home home, ViewArray< View > &x)
Constructor for posting.
@ ES_OK
Execution is okay.
Nq(Space &home, bool share, Nq< V0, V1 > &p)
Constructor for cloning p.
int p
Number of positive literals for node type.