Gecode::Int::IntVarImp::RangeList Class Reference
Lists of ranges (intervals).
More...
#include <var-imp.hpp>
List of all members.
Protected Attributes |
int | _min |
| Minimum of range.
|
int | _max |
| Maximum of range.
|
Constructors |
|
| RangeList (void) |
| Default constructor (noop).
|
| RangeList (int min, int max) |
| Initialize with minimum min and maximum max.
|
| RangeList (int min, int max, RangeList *p, RangeList *n) |
| Initialize with minimum min and maximum max and predecessor p and successor n.
|
Access |
|
int | min (void) const |
| Return minimum.
|
int | max (void) const |
| Return maximum.
|
unsigned int | width (void) const |
| Return width (distance between maximum and minimum).
|
RangeList * | next (const RangeList *p) const |
| Return next element (from previous p).
|
RangeList * | prev (const RangeList *n) const |
| Return previous element (from next n).
|
Update |
|
void | min (int n) |
| Set minimum to n.
|
void | max (int n) |
| Set maximum to n.
|
void | prevnext (RangeList *p, RangeList *n) |
| Set previous element to p and next element to n.
|
void | next (RangeList *o, RangeList *n) |
| Set next element from o to n.
|
void | prev (RangeList *o, RangeList *n) |
| Set previous element from o to n.
|
void | fix (RangeList *n) |
| Restore simple link to next element (so that it becomes a true free list).
|
Memory management |
|
void | dispose (Space &home, RangeList *p, RangeList *l) |
| Free memory for all elements between this and l (inclusive).
|
void | dispose (Space &home, RangeList *l) |
| Free memory for all elements between this and l (inclusive).
|
void | dispose (Space &home) |
| Free memory for this element.
|
static void * | operator new (size_t s, Space &home) |
| Allocate memory from space.
|
static void * | operator new (size_t s, void *p) |
| Placement new.
|
static void | operator delete (void *) |
| No-op (for exceptions).
|
static void | operator delete (void *, Space &) |
| No-op (use dispose instead).
|
static void | operator delete (void *, void *) |
| No-op (use dispose instead).
|
Detailed Description
Lists of ranges (intervals).
Range lists are doubly-linked storing the pointer to both the next and the previous element in a single pointer. That means that the next element is only available when the previous element is supplied as additional information. The same holds true for access to the previous element.
Definition at line 104 of file var-imp.hpp.
Constructor & Destructor Documentation
Gecode::Int::IntVarImp::RangeList::RangeList |
( |
void |
|
) |
[inline] |
Default constructor (noop).
Definition at line 53 of file int.hpp.
Gecode::Int::IntVarImp::RangeList::RangeList |
( |
int |
min, |
|
|
int |
max | |
|
) |
| | [inline] |
Initialize with minimum min and maximum max.
Definition at line 56 of file int.hpp.
Gecode::Int::IntVarImp::RangeList::RangeList |
( |
int |
min, |
|
|
int |
max, |
|
|
RangeList * |
p, |
|
|
RangeList * |
n | |
|
) |
| | [inline] |
Initialize with minimum min and maximum max and predecessor p and successor n.
Definition at line 60 of file int.hpp.
Member Function Documentation
int Gecode::Int::IntVarImp::RangeList::min |
( |
void |
|
) |
const [inline] |
Return minimum.
Definition at line 102 of file int.hpp.
int Gecode::Int::IntVarImp::RangeList::max |
( |
void |
|
) |
const [inline] |
Return maximum.
Definition at line 106 of file int.hpp.
unsigned int Gecode::Int::IntVarImp::RangeList::width |
( |
void |
|
) |
const [inline] |
Return width (distance between maximum and minimum).
Definition at line 110 of file int.hpp.
Return next element (from previous p).
Definition at line 66 of file int.hpp.
Return previous element (from next n).
Definition at line 70 of file int.hpp.
void Gecode::Int::IntVarImp::RangeList::min |
( |
int |
n |
) |
[inline] |
void Gecode::Int::IntVarImp::RangeList::max |
( |
int |
n |
) |
[inline] |
void Gecode::Int::IntVarImp::RangeList::prevnext |
( |
RangeList * |
p, |
|
|
RangeList * |
n | |
|
) |
| | [inline] |
Set previous element to p and next element to n.
Definition at line 74 of file int.hpp.
Set next element from o to n.
Definition at line 78 of file int.hpp.
Set previous element from o to n.
Definition at line 83 of file int.hpp.
void Gecode::Int::IntVarImp::RangeList::fix |
( |
RangeList * |
n |
) |
[inline] |
Restore simple link to next element (so that it becomes a true free list).
Definition at line 88 of file int.hpp.
Free memory for all elements between this and l (inclusive).
p must be the pointer to the previous element of this
.
Definition at line 138 of file int.hpp.
void Gecode::Int::IntVarImp::RangeList::dispose |
( |
Space & |
home, |
|
|
RangeList * |
l | |
|
) |
| | [inline] |
Free memory for all elements between this and l (inclusive).
This routine assumes that the list has already been fixed.
Definition at line 149 of file int.hpp.
void Gecode::Int::IntVarImp::RangeList::dispose |
( |
Space & |
home |
) |
[inline] |
Free memory for this element.
Definition at line 154 of file int.hpp.
void * Gecode::Int::IntVarImp::RangeList::operator new |
( |
size_t |
s, |
|
|
Space & |
home | |
|
) |
| | [inline, static] |
Allocate memory from space.
Definition at line 128 of file int.hpp.
void * Gecode::Int::IntVarImp::RangeList::operator new |
( |
size_t |
s, |
|
|
void * |
p | |
|
) |
| | [inline, static] |
Placement new.
Definition at line 133 of file int.hpp.
void Gecode::Int::IntVarImp::RangeList::operator delete |
( |
void * |
|
) |
[inline, static] |
No-op (for exceptions).
Definition at line 116 of file int.hpp.
void Gecode::Int::IntVarImp::RangeList::operator delete |
( |
void * |
, |
|
|
Space & |
| |
|
) |
| | [inline, static] |
No-op (use dispose instead).
Definition at line 119 of file int.hpp.
void Gecode::Int::IntVarImp::RangeList::operator delete |
( |
void * |
, |
|
|
void * |
| |
|
) |
| | [inline, static] |
No-op (use dispose instead).
Definition at line 123 of file int.hpp.
Member Data Documentation
The documentation for this class was generated from the following files: