73 unsigned int width(
void)
const;
112 static void*
operator new(
size_t s,
Space& home);
114 static void*
operator new(
size_t s,
void*
p);
116 static void operator delete(
void*);
118 static void operator delete(
void*,
Space& home);
120 static void operator delete(
void*,
void*);
173 return static_cast<unsigned int>(
_max -
_min + 1);
178 RangeList::operator
delete(
void*) {}
181 RangeList::operator
delete(
void*,
Space&) {
186 RangeList::operator
delete(
void*,
void*) {
191 RangeList::operator
new(size_t,
Space& home) {
192 return home.fl_alloc<
sizeof(
RangeList)>();
196 RangeList::operator
new(size_t,
void*
p) {
208 while (l->
next() != NULL)
232 while ((c != NULL) &&
i()) {
233 c->
min(i.min()); c->
max(i.max());
236 if ((c == NULL) && !
i())
247 while (c->
next() != NULL)
262 while ((c != NULL) &&
i()) {
263 if ((c->
max()+1 < i.min())) {
265 }
else if (i.max()+1 < c->
min()) {
274 if ((c != NULL) && (c->
min() <= max+1)) {
279 if (
i() && (i.min() <= max+1)) {
287 f->min(min); f->max(max); f->next(c);
const FloatNum max
Largest allowed float value.
FreeList * next(void) const
Return next freelist object.
RangeList * next(void) const
Return next element.
int min(void) const
Return minimum.
Gecode::FloatVal c(-8, 8)
int p
Number of positive literals for node type.
const FloatNum min
Smallest allowed float value.
int n
Number of negative literals for node type.
Gecode::IntArgs i({1, 2, 3, 4})
int max(void) const
Return maximum.
FreeList ** nextRef(void)
Return pointer to next link in freelist object.
int _max
Maximum of range.
Post propagator for SetVar SetOpType SetVar SetRelType r
static void copy(Space &home, RangeList *&r, Iter &i)
Create rangelist r from range iterator i.
Post propagator for f(x \diamond_{\mathit{op}} y) \sim_r z \f$ void rel(Home home
Base-class for freelist-managed objects.
void fl_dispose(FreeList *f, FreeList *l)
Return freelist-managed memory to freelist.
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.
static void insert(Space &home, RangeList *&r, I &i)
Insert (as union) ranges from iterator i into r.
Gecode toplevel namespace
int _min
Minimum of range.
RangeList ** nextRef(void)
Return pointer to next element.
#define GECODE_NEVER
Assert that this command is never executed.
unsigned int width(void) const
Return width (distance between maximum and minimum)
RangeList(void)
Default constructor (noop)