36 namespace Gecode {
namespace Int {
namespace Rel {
42 template<
class V0,
class V1>
47 template<
class V0,
class V1>
52 }
else if (x1.assigned()) {
54 }
else if (x0 == x1) {
62 template<
class V0,
class V1>
67 template<
class V0,
class V1>
73 template<
class V0,
class V1>
79 template<
class V0,
class V1>
132 for (
int i=n-1;
i>0;
i--)
136 assert(x[
i].val() == v);
145 (void)
new (home)
NaryNq(home,x);
153 return sizeof(*this);
162 for (
int i=1;
true;
i++)
170 for (
int i=n-1;
i>0;
i--)
175 assert(
x[
i].val() == v);
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, V0 x0, V1 x1)
Post propagator .
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator .
ExecStatus ES_SUBSUMED(Propagator &p)
ViewArray< View > x
Array of views.
Propagation has computed fixpoint.
static PropCost unary(PropCost::Mod m)
Single variable for modifier pcm.
Base-class for both propagators and branchers.
Nary disequality propagator.
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Gecode::IntArgs i({1, 2, 3, 4})
Execution has resulted in failure.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
NaryNq(Home home, ViewArray< View > &x)
Constructor for posting.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Nq(Space &home, Nq< V0, V1 > &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
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.
Binary disequality propagator.
Post propagator for SetVar x
void unique(void)
Remove all duplicate views from array (changes element order)
Gecode toplevel namespace
int size(void) const
Return size of array (number of elements)
int ModEventDelta
Modification event deltas.
Home class for posting propagators
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
IntRelType swap(IntRelType irt)
Return swapped relation type of irt.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)