Generated on Wed Nov 1 15:05:15 2006 for Gecode by doxygen 1.4.5

Gecode::Int::IntVarImp::RangeList Class Reference

Inherits Gecode::FreeList.

List of all members.


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 53 of file var.icc.

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).
RangeListnext (const RangeList *p) const
 Return next element (from previous p).
RangeListprev (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 delete (void *)
 No-op (for exceptions).
static void operator delete (void *, Space *)
 No-op (use dispose instead).

Protected Attributes

int _min
 Minimum of range.
int _max
 Maximum of range.


Constructor & Destructor Documentation

Gecode::Int::IntVarImp::RangeList::RangeList void   )  [inline]
 

Default constructor (noop).

Definition at line 37 of file imp.icc.

Gecode::Int::IntVarImp::RangeList::RangeList int  min,
int  max
[inline]
 

Initialize with minimum min and maximum max.

Definition at line 40 of file imp.icc.

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 44 of file imp.icc.


Member Function Documentation

int Gecode::Int::IntVarImp::RangeList::min void   )  const [inline]
 

Return minimum.

Definition at line 86 of file imp.icc.

int Gecode::Int::IntVarImp::RangeList::max void   )  const [inline]
 

Return maximum.

Definition at line 90 of file imp.icc.

unsigned int Gecode::Int::IntVarImp::RangeList::width void   )  const [inline]
 

Return width (distance between maximum and minimum).

Definition at line 94 of file imp.icc.

IntVarImp::RangeList * Gecode::Int::IntVarImp::RangeList::next const RangeList p  )  const [inline]
 

Return next element (from previous p).

Definition at line 50 of file imp.icc.

IntVarImp::RangeList * Gecode::Int::IntVarImp::RangeList::prev const RangeList n  )  const [inline]
 

Return previous element (from next n).

Definition at line 54 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::min int  n  )  [inline]
 

Set minimum to n.

Definition at line 77 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::max int  n  )  [inline]
 

Set maximum to n.

Definition at line 81 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::prevnext RangeList p,
RangeList n
[inline]
 

Set previous element to p and next element to n.

Definition at line 58 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::next RangeList o,
RangeList n
[inline]
 

Set next element from o to n.

Definition at line 62 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::prev RangeList o,
RangeList n
[inline]
 

Set previous element from o to n.

Definition at line 67 of file imp.icc.

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 72 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::dispose Space home,
RangeList p,
RangeList l
[inline]
 

Free memory for all elements between this and l (inclusive).

p must be the pointer to the previous element of this.

Definition at line 114 of file imp.icc.

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 125 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::dispose Space home  )  [inline]
 

Free memory for this element.

Definition at line 130 of file imp.icc.

void * Gecode::Int::IntVarImp::RangeList::operator new size_t  s,
Space home
[inline, static]
 

Allocate memory from space.

Definition at line 108 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::operator delete void *   )  [inline, static]
 

No-op (for exceptions).

Definition at line 100 of file imp.icc.

void Gecode::Int::IntVarImp::RangeList::operator delete void *  ,
Space
[inline, static]
 

No-op (use dispose instead).

Definition at line 103 of file imp.icc.


Member Data Documentation

int Gecode::Int::IntVarImp::RangeList::_min [protected]
 

Minimum of range.

Definition at line 56 of file var.icc.

int Gecode::Int::IntVarImp::RangeList::_max [protected]
 

Maximum of range.

Definition at line 58 of file var.icc.


The documentation for this class was generated from the following files: