Generated on Tue Apr 18 10:23:18 2017 for Gecode by doxygen 1.6.3

Gecode::RangeList Class Reference
[Space-memory management]

Lists of ranges (intervals). More...

#include <range-list.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 *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).
RangeListnext (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 53 of file range-list.hpp.


Constructor & Destructor Documentation

Gecode::RangeList::RangeList ( void   )  [inline]

Default constructor (noop).

Definition at line 134 of file range-list.hpp.

Gecode::RangeList::RangeList ( int  min,
int  max 
) [inline]

Initialize with minimum min and maximum max.

Definition at line 141 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 137 of file range-list.hpp.


Member Function Documentation

int Gecode::RangeList::min ( void   )  const [inline]

Return minimum.

Definition at line 168 of file range-list.hpp.

int Gecode::RangeList::max ( void   )  const [inline]

Return maximum.

Definition at line 172 of file range-list.hpp.

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

Return width (distance between maximum and minimum).

Definition at line 176 of file range-list.hpp.

RangeList * Gecode::RangeList::next ( void   )  const [inline]

Return next element.

Reimplemented from Gecode::FreeList.

Definition at line 145 of file range-list.hpp.

RangeList ** Gecode::RangeList::nextRef ( void   )  [inline]

Return pointer to next element.

Reimplemented from Gecode::FreeList.

Definition at line 150 of file range-list.hpp.

void Gecode::RangeList::min ( int  n  )  [inline]

Set minimum to n.

Definition at line 155 of file range-list.hpp.

void Gecode::RangeList::max ( int  n  )  [inline]

Set maximum to n.

Definition at line 159 of file range-list.hpp.

void Gecode::RangeList::next ( RangeList n  )  [inline]

Set next range to n.

Definition at line 163 of file range-list.hpp.

template<class Iter >
void Gecode::RangeList::copy ( Space home,
RangeList *&  r,
Iter &  i 
) [inline, static]

Create rangelist r from range iterator i.

Definition at line 219 of file range-list.hpp.

template<class Iter >
void Gecode::RangeList::overwrite ( Space home,
RangeList *&  r,
Iter &  i 
) [inline, static]

Overwrite rangelist r with ranges from range iterator i.

Definition at line 232 of file range-list.hpp.

template<class I >
void Gecode::RangeList::insert ( Space home,
RangeList *&  r,
I &  i 
) [inline, static]

Insert (as union) ranges from iterator i into r.

Definition at line 261 of file range-list.hpp.

void Gecode::RangeList::dispose ( Space home,
RangeList l 
) [inline]

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

Definition at line 205 of file range-list.hpp.

void Gecode::RangeList::dispose ( Space home  )  [inline]

Free memory for all elements reachable from this.

Definition at line 210 of file range-list.hpp.

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

Allocate memory from space.

Definition at line 195 of file range-list.hpp.

void * Gecode::RangeList::operator new ( size_t  s,
void *  p 
) [inline, static]

Placement-new operator (noop).

Definition at line 200 of file range-list.hpp.

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

No-op (for exceptions).

Definition at line 182 of file range-list.hpp.

void Gecode::RangeList::operator delete ( void *  ,
Space home 
) [inline, static]

No-op (use dispose instead).

Definition at line 185 of file range-list.hpp.

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

No-op (use dispose instead).

Definition at line 190 of file range-list.hpp.


Member Data Documentation

int Gecode::RangeList::_min [protected]

Minimum of range.

Definition at line 56 of file range-list.hpp.

int Gecode::RangeList::_max [protected]

Maximum of range.

Definition at line 58 of file range-list.hpp.


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