
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) |
Public Member Functions inherited from Gecode::Iter::Ranges::RangeListIter | |
| ~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... | |
Protected Member Functions inherited from Gecode::Iter::Ranges::RangeListIter | |
| 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... | |
Protected Attributes inherited from Gecode::Iter::Ranges::RangeListIter | |
| 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.