Gecode::RangeList Class Reference
[Space-memory management]
Lists of ranges (intervals). More...
#include <range-list.hpp>
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 *n) | |
| Initialize with minimum min and maximum max 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 (void) const |
| Return next element. | |
| RangeList ** | nextRef (void) |
| Return pointer to next element. | |
Update | |
|
| |
| void | min (int n) |
| Set minimum to n. | |
| void | max (int n) |
| Set maximum to n. | |
| void | next (RangeList *n) |
| Set next range to n. | |
Memory management | |
|
| |
| void | dispose (Space &home, RangeList *l) |
| Free memory for all elements between this and l (inclusive). | |
| void | dispose (Space &home) |
| Free memory for all elements reachable from this. | |
| static void * | operator new (size_t s, Space &home) |
| Allocate memory from space. | |
| static void * | operator new (size_t s, void *p) |
| Placement-new operator (noop). | |
| static void | operator delete (void *) |
| No-op (for exceptions). | |
| static void | operator delete (void *, Space &home) |
| No-op (use dispose instead). | |
| static void | operator delete (void *, void *) |
| No-op (use dispose instead). | |
Iterator operations | |
|
| |
| template<class Iter > | |
| static void | copy (Space &home, RangeList *&r, Iter &i) |
| Create rangelist r from range iterator i. | |
| template<class Iter > | |
| static void | overwrite (Space &home, RangeList *&r, Iter &i) |
| Overwrite rangelist r with ranges from range iterator i. | |
| template<class I > | |
| static void | insert (Space &home, RangeList *&r, I &i) |
| Insert (as union) ranges from iterator i into r. | |
Detailed Description
Lists of ranges (intervals).
This class implements a simple datastructure for storing sets of integers as lists of ranges (intervals). Memory is managed as space-allocated free lists.
Definition at line 49 of file range-list.hpp.
Constructor & Destructor Documentation
| Gecode::RangeList::RangeList | ( | void | ) | [inline] |
Default constructor (noop).
Definition at line 130 of file range-list.hpp.
| Gecode::RangeList::RangeList | ( | int | min, | |
| int | max | |||
| ) | [inline] |
Initialize with minimum min and maximum max.
Definition at line 137 of file range-list.hpp.
| Gecode::RangeList::RangeList | ( | int | min, | |
| int | max, | |||
| RangeList * | n | |||
| ) | [inline] |
Initialize with minimum min and maximum max and successor n.
Definition at line 133 of file range-list.hpp.
Member Function Documentation
| int Gecode::RangeList::min | ( | void | ) | const [inline] |
Return minimum.
Definition at line 164 of file range-list.hpp.
| int Gecode::RangeList::max | ( | void | ) | const [inline] |
Return maximum.
Definition at line 168 of file range-list.hpp.
| unsigned int Gecode::RangeList::width | ( | void | ) | const [inline] |
Return width (distance between maximum and minimum).
Definition at line 172 of file range-list.hpp.
| RangeList * Gecode::RangeList::next | ( | void | ) | const [inline] |
Return next element.
Reimplemented from Gecode::FreeList.
Definition at line 141 of file range-list.hpp.
| RangeList ** Gecode::RangeList::nextRef | ( | void | ) | [inline] |
Return pointer to next element.
Reimplemented from Gecode::FreeList.
Definition at line 146 of file range-list.hpp.
| void Gecode::RangeList::min | ( | int | n | ) | [inline] |
Set minimum to n.
Definition at line 151 of file range-list.hpp.
| void Gecode::RangeList::max | ( | int | n | ) | [inline] |
Set maximum to n.
Definition at line 155 of file range-list.hpp.
| void Gecode::RangeList::next | ( | RangeList * | n | ) | [inline] |
Set next range to n.
Definition at line 159 of file range-list.hpp.
| void Gecode::RangeList::copy | ( | Space & | home, | |
| RangeList *& | r, | |||
| Iter & | i | |||
| ) | [inline, static] |
Create rangelist r from range iterator i.
Definition at line 215 of file range-list.hpp.
| void Gecode::RangeList::overwrite | ( | Space & | home, | |
| RangeList *& | r, | |||
| Iter & | i | |||
| ) | [inline, static] |
Overwrite rangelist r with ranges from range iterator i.
Definition at line 228 of file range-list.hpp.
| void Gecode::RangeList::insert | ( | Space & | home, | |
| RangeList *& | r, | |||
| I & | i | |||
| ) | [inline, static] |
Insert (as union) ranges from iterator i into r.
Definition at line 257 of file range-list.hpp.
Free memory for all elements between this and l (inclusive).
Definition at line 201 of file range-list.hpp.
| void Gecode::RangeList::dispose | ( | Space & | home | ) | [inline] |
Free memory for all elements reachable from this.
Definition at line 206 of file range-list.hpp.
| void * Gecode::RangeList::operator new | ( | size_t | s, | |
| Space & | home | |||
| ) | [inline, static] |
Allocate memory from space.
Definition at line 191 of file range-list.hpp.
| void * Gecode::RangeList::operator new | ( | size_t | s, | |
| void * | p | |||
| ) | [inline, static] |
Placement-new operator (noop).
Definition at line 196 of file range-list.hpp.
| void Gecode::RangeList::operator delete | ( | void * | ) | [inline, static] |
No-op (for exceptions).
Definition at line 178 of file range-list.hpp.
| void Gecode::RangeList::operator delete | ( | void * | , | |
| Space & | home | |||
| ) | [inline, static] |
No-op (use dispose instead).
Definition at line 181 of file range-list.hpp.
| void Gecode::RangeList::operator delete | ( | void * | , | |
| void * | ||||
| ) | [inline, static] |
No-op (use dispose instead).
Definition at line 186 of file range-list.hpp.
Member Data Documentation
int Gecode::RangeList::_min [protected] |
Minimum of range.
Definition at line 52 of file range-list.hpp.
int Gecode::RangeList::_max [protected] |
Maximum of range.
Definition at line 54 of file range-list.hpp.
The documentation for this class was generated from the following file:
- gecode/kernel/range-list.hpp
