
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) | |
| 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.