38 namespace Gecode {
namespace Int {
76 if (
y.range() && (
dom->
next() == NULL)) {
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)
102 p->next()->dispose(home);
RangeList * dom
Ranges capturing the variable domain.
RangeList * ranges(void) const
Give access to ranges.
RangeList * next(void) const
Return next element.
void update(Space &home, bool share, IntTraceView x)
Update during cloning.
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.
static void copy(Space &home, RangeList *&r, Iter &i)
Create rangelist r from range iterator i.
Integer view for integer variables.
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.
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