Range iterator for union of iterators. More...
#include <ranges-union.hpp>
Public Member Functions | |
template<class I, class J> | |
RangeListIter::RangeList * | two (I &i, J &j) |
RangeListIter (void) | |
Default constructor. | |
RangeListIter (const RangeListIter &i) | |
Copy constructor. | |
RangeListIter (Region &r) | |
Initialize. | |
void | init (Region &r) |
Initialize. | |
RangeListIter & | operator= (const RangeListIter &i) |
Assignment operator. | |
bool | operator() (void) const |
Test whether iterator is still at a range or done. | |
void | operator++ (void) |
Move iterator to next range (if possible) | |
void | reset (void) |
Reset iterator to start. | |
int | min (void) const |
Return smallest value of range. | |
int | max (void) const |
Return largest value of range. | |
unsigned int | width (void) const |
Return width of range (distance between minimum and maximum) | |
~RangeListIter (void) | |
Destructor. |
Protected Member Functions | |
template<class I, class J> | |
RangeList * | two (I &i, J &j) |
Return range list for union of two iterators. | |
template<class I> | |
void | insert (I &i, RangeList *&u) |
Insert ranges from i into u. | |
Protected Member Functions inherited from Gecode::Iter::Ranges::RangeListIter | |
void | set (RangeList *l) |
Set range lists. | |
RangeList * | get (void) const |
Get head of current range list. | |
RangeList * | range (int min, int max, RangeList *&f) |
Create new range possibly from freelist f and init. | |
RangeList * | range (int min, int max) |
Create new range possibly and init. | |
template<class I> | |
RangeList * | range (I &i, RangeList *&f) |
Create new range possibly from freelist f and init. | |
template<class I> | |
RangeList * | range (I &i) |
Create new range possibly and init. | |
template<class I> | |
RangeList * | copy (I &i) |
Copy the iterator i to a range list. |
Protected Attributes | |
RangeList * | f |
Freelist used for allocation. | |
Protected Attributes inherited from Gecode::Iter::Ranges::RangeListIter | |
RLIO * | rlio |
Reference to shared object. | |
RangeList * | h |
Head of range list. | |
RangeList * | c |
Current list element. |
Constructors and initialization | |
NaryUnion (void) | |
Default constructor. | |
template<class I> | |
NaryUnion (Region &r, I &i) | |
Initialize with single iterator i. | |
template<class I, class J> | |
NaryUnion (Region &r, I &i, J &j) | |
Initialize with iterators i and j. | |
template<class I> | |
NaryUnion (Region &r, I *i, int n) | |
Initialize with n iterators in i. | |
template<class I> | |
void | init (Region &r, I &i) |
Initialize with single iterator i. | |
template<class I, class J> | |
void | init (Region &r, I &i, J &j) |
Initialize with iterators i and j. | |
template<class I> | |
void | init (Region &r, I *i, int n) |
Initialize with n iterators in i. | |
template<class I> | |
void | operator|= (I &i) |
Add iterator i. | |
NaryUnion & | operator= (const NaryUnion &m) |
Assignment operator (both iterators must be allocated from the same region) |
Range iterator for union of iterators.
Definition at line 74 of file ranges-union.hpp.
|
inline |
Default constructor.
Definition at line 275 of file ranges-union.hpp.
|
inline |
Initialize with single iterator i.
Definition at line 327 of file ranges-union.hpp.
|
inline |
Initialize with iterators i and j.
Definition at line 332 of file ranges-union.hpp.
|
inline |
Initialize with n iterators in i.
Definition at line 337 of file ranges-union.hpp.
|
protected |
Return range list for union of two iterators.
|
protected |
Insert ranges from i into u.
Definition at line 223 of file ranges-union.hpp.
|
inline |
Initialize with single iterator i.
Definition at line 280 of file ranges-union.hpp.
|
inline |
Initialize with iterators i and j.
Definition at line 288 of file ranges-union.hpp.
|
inline |
Initialize with n iterators in i.
Definition at line 296 of file ranges-union.hpp.
|
inline |
Add iterator i.
Definition at line 343 of file ranges-union.hpp.
Assignment operator (both iterators must be allocated from the same region)
Definition at line 350 of file ranges-union.hpp.
RangeListIter::RangeList * Gecode::Iter::Ranges::NaryUnion::two | ( | I & | i, |
J & | j ) |
Definition at line 180 of file ranges-union.hpp.
|
protected |
Freelist used for allocation.
Definition at line 77 of file ranges-union.hpp.