Range iterator for appending arbitrarily many iterators. More...
#include <ranges-append.hpp>
Protected Attributes | |
I * | r |
The array of iterators to be appended. | |
int | n |
Number of iterators. | |
int | active |
Number of current iterator being processed. | |
![]() | |
int | mi |
Minimum of current range. | |
int | ma |
Maximum of current range. | |
Constructors and initialization | |
NaryAppend (void) | |
Default constructor. | |
NaryAppend (I *i, int n) | |
Initialize with n iterators in i. | |
void | init (I *i, int n) |
Initialize with n iterators in i. | |
Iteration control | |
void | operator++ (void) |
Move iterator to next range (if possible) | |
Additional Inherited Members | |
![]() | |
MinMax (void) | |
Default constructor. | |
MinMax (int min, int max) | |
Initialize with range min to max. | |
bool | operator() (void) const |
Test whether iterator is still at a range or done. | |
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) | |
![]() | |
void | finish (void) |
Set range such that iteration stops | |
Range iterator for appending arbitrarily many iterators.
The iterators are allowed to be adjacent but not to overlap (in this case, use Gecode::Iter::NaryUnion)
Definition at line 81 of file ranges-append.hpp.
|
inline |
Default constructor.
Definition at line 187 of file ranges-append.hpp.
|
inline |
Initialize with n iterators in i.
Definition at line 191 of file ranges-append.hpp.
|
inline |
Initialize with n iterators in i.
Definition at line 204 of file ranges-append.hpp.
|
inline |
Move iterator to next range (if possible)
Definition at line 164 of file ranges-append.hpp.
|
protected |
The array of iterators to be appended.
Definition at line 84 of file ranges-append.hpp.
|
protected |
Number of iterators.
Definition at line 86 of file ranges-append.hpp.
|
protected |
Number of current iterator being processed.
Definition at line 88 of file ranges-append.hpp.