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) | |
Destructor. More... | |
RangeListIter (void) | |
Default constructor. More... | |
RangeListIter (const RangeListIter &i) | |
Copy constructor. More... | |
RangeListIter (Region &r) | |
Initialize. More... | |
void | init (Region &r) |
Initialize. More... | |
RangeListIter & | operator= (const RangeListIter &i) |
Assignment operator. More... | |
bool | operator() (void) const |
Test whether iterator is still at a range or done. More... | |
void | operator++ (void) |
Move iterator to next range (if possible) More... | |
void | reset (void) |
Reset iterator to start. More... | |
int | min (void) const |
Return smallest value of range. More... | |
int | max (void) const |
Return largest value of range. More... | |
unsigned int | width (void) const |
Return width of range (distance between minimum and maximum) More... | |
Protected Member Functions | |
template<class I , class J > | |
RangeList * | two (I &i, J &j) |
Return range list for union of two iterators. More... | |
template<class I > | |
void | insert (I &i, RangeList *&u) |
Insert ranges from i into u. More... | |
![]() | |
void | set (RangeList *l) |
Set range lists. More... | |
RangeList * | get (void) const |
Get head of current range list. More... | |
RangeList * | range (int min, int max, RangeList *&f) |
Create new range possibly from freelist f and init. More... | |
RangeList * | range (int min, int max) |
Create new range possibly and init. More... | |
template<class I > | |
RangeList * | range (I &i, RangeList *&f) |
Create new range possibly from freelist f and init. More... | |
template<class I > | |
RangeList * | range (I &i) |
Create new range possibly and init. More... | |
template<class I > | |
RangeList * | copy (I &i) |
Copy the iterator i to a range list. More... | |
Protected Attributes | |
RangeList * | f |
Freelist used for allocation. More... | |
![]() | |
RLIO * | rlio |
Reference to shared object. More... | |
RangeList * | h |
Head of range list. More... | |
RangeList * | c |
Current list element. More... | |
Constructors and initialization | |
NaryUnion (void) | |
Default constructor. More... | |
template<class I > | |
NaryUnion (Region &r, I &i) | |
Initialize with single iterator i. More... | |
template<class I , class J > | |
NaryUnion (Region &r, I &i, J &j) | |
Initialize with iterators i and j. More... | |
template<class I > | |
NaryUnion (Region &r, I *i, int n) | |
Initialize with n iterators in i. More... | |
template<class I > | |
void | init (Region &r, I &i) |
Initialize with single iterator i. More... | |
template<class I , class J > | |
void | init (Region &r, I &i, J &j) |
Initialize with iterators i and j. More... | |
template<class I > | |
void | init (Region &r, I *i, int n) |
Initialize with n iterators in i. More... | |
template<class I > | |
void | operator|= (I &i) |
Add iterator i. More... | |
NaryUnion & | operator= (const NaryUnion &m) |
Assignment operator (both iterators must be allocated from the same region) More... | |
Range iterator for union of iterators.
Definition at line 78 of file ranges-union.hpp.
|
inline |
Default constructor.
Definition at line 279 of file ranges-union.hpp.
|
inline |
Initialize with single iterator i.
Definition at line 331 of file ranges-union.hpp.
|
inline |
Initialize with iterators i and j.
Definition at line 336 of file ranges-union.hpp.
|
inline |
Initialize with n iterators in i.
Definition at line 341 of file ranges-union.hpp.
|
protected |
Return range list for union of two iterators.
|
protected |
Insert ranges from i into u.
Definition at line 227 of file ranges-union.hpp.
|
inline |
Initialize with single iterator i.
Definition at line 284 of file ranges-union.hpp.
|
inline |
Initialize with iterators i and j.
Definition at line 292 of file ranges-union.hpp.
|
inline |
Initialize with n iterators in i.
Definition at line 300 of file ranges-union.hpp.
|
inline |
Add iterator i.
Definition at line 347 of file ranges-union.hpp.
Assignment operator (both iterators must be allocated from the same region)
Definition at line 354 of file ranges-union.hpp.
RangeListIter::RangeList* Gecode::Iter::Ranges::NaryUnion::two | ( | I & | i, |
J & | j | ||
) |
Definition at line 184 of file ranges-union.hpp.
|
protected |
Freelist used for allocation.
Definition at line 81 of file ranges-union.hpp.