58 return new (home)
AtmostOne(home,share,*
this);
74 int a = as.val(); ++as;
85 if (!
x[
i].notContains(a)) {
92 int maxa =
static_cast<int>((bigTa.
size() - 1) / (
c - 1));
100 if (maxa == cardSa) {
105 if (!
x[
i].contains(a)) {
111 for (
int i =
x.
size();
i--; ) {
119 if (
x[
i].contains(a)) {
126 Iter::Ranges::NaryUnion> deltaA(bigT2, glbsa);
143 if (!
x[
i].contains(a) && !
x[
i].notContains(a)) {
Propagator for negated equality
AtmostOne(Space &home, bool share, AtmostOne &p)
Constructor for cloning p.
T * alloc(long unsigned int n)
Allocate block of n objects of type T from region.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
void init(const SetView &x)
Initialize with ranges for view x.
ViewArray< SetView > x
Array of views.
Base-class for both propagators and branchers.
ModEvent exclude(Space &home, View &x, int s)
Prune view x to exclude all values from s.
unsigned int size(void) const
Return size.
Gecode::IntArgs i(4, 1, 2, 3, 4)
Range iterator for least upper bound of set variable views
void reset(void)
Reset iterator to start.
Execution has resulted in failure.
Range iterator for greatest lower bound of set variable views
Range iterator for union of iterators.
Value iterator from range iterator.
unsigned int size(I &i)
Size of all ranges of range iterator i.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
bool includeI(Space &home, I &i)
Include the set represented by i in this set.
void dispose(Space &home)
Free memory used by this set.
unsigned int c
Cardinality of the sets.
void count(Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntConLevel)
Post propagator for .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Growing sets of integers.
Propagation has not computed fixpoint.
bool subset(I &i, J &j)
Check whether range iterator i is subset of range iterator j.
int size(void) const
Return size of array (number of elements)
Gecode toplevel namespace
Range iterator for computing set difference.
int ModEventDelta
Modification event deltas.
struct Gecode::@518::NNF::@57::@59 a
For atomic nodes.