38 namespace Gecode {
namespace Int {
78 }
else if (!y.
any(d) && (y.
max(d)+1 == y.
min())) {
83 while ((l != NULL) && (l->
max() < y.
min())) {
90 }
else if (!y.
any(d) && (y.
max()+1 == y.
min(d))) {
97 while ((l != NULL) && (l->
min() <= y.
max())) {
101 if (p->
next() != NULL)
RangeList * dom
Ranges capturing the variable domain.
RangeList * ranges(void) const
Give access to ranges.
RangeList * next(void) const
Return next element.
Range iterator for range lists
int min(void) const
Return minimum.
Range iterator for integer variable views
int p
Number of positive literals for node type.
int max(void) const
Return maximum.
static unsigned long long int slack(IntView x)
Return slack measure.
Duplicate of an integer view.
int min(void) const
Return minimum of domain.
bool range(void) const
Test whether domain is a range.
unsigned int width(void) const
Return width of domain (distance between maximum and minimum)
static void copy(Space &home, RangeList *&r, Iter &i)
Create rangelist r from range iterator i.
Integer view for integer variables.
bool any(const Delta &d) const
Test whether arbitrary values got pruned.
Post propagator for SetVar SetOpType SetVar y
Generic domain change information to be supplied to advisors.
void prune(Space &home, IntView y, const Delta &d)
Update duplicated view from view y and modification delta d.
void update(Space &home, IntTraceView x)
Update during cloning.
IntTraceView(void)
Default constructor (initializes with no view)
Post propagator for SetVar x
void dispose(Space &home, RangeList *l)
Free memory for all elements between this and l (inclusive)
Lists of ranges (intervals)
static void overwrite(Space &home, RangeList *&r, Iter &i)
Overwrite rangelist r with ranges from range iterator i.
Gecode toplevel namespace
int max(void) const
Return maximum of domain.