Gecode::Iter::Ranges::NaryAppend< I > Class Template Reference
Common functionality » Range and value iterators » Range iterators

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.
Protected Attributes inherited from Gecode::Iter::Ranges::MinMax
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).
Protected Member Functions inherited from Gecode::Iter::Ranges::MinMax
void | finish (void)
| Set range such that iteration stops

## Detailed Description

template<class I>
class Gecode::Iter::Ranges::NaryAppend< I >

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.

## Constructor & Destructor Documentation

## NaryAppend() [1/2]

template<class I>

Gecode::Iter::Ranges::NaryAppend< I >::NaryAppend | ( | void |  | ) |

inline

Default constructor.

Definition at line 187 of file ranges-append.hpp.

## NaryAppend() [2/2]

template<class I>

Gecode::Iter::Ranges::NaryAppend< I >::NaryAppend | ( | I * | i,
|  | int | n )

inline

Initialize with n iterators in i.

Definition at line 191 of file ranges-append.hpp.

## Member Function Documentation

## init()

template<class I>

void Gecode::Iter::Ranges::NaryAppend< I >::init | ( | I * | i,
|  | int | n )

inline

Initialize with n iterators in i.

Definition at line 204 of file ranges-append.hpp.

## operator++()

template<class I>

void Gecode::Iter::Ranges::NaryAppend< I >::operator++ | ( | void |  | ) |

inline

Move iterator to next range (if possible).

Definition at line 164 of file ranges-append.hpp.

## Member Data Documentation

## r

template<class I>

I* Gecode::Iter::Ranges::NaryAppend< I >::r

protected

The array of iterators to be appended.

Definition at line 84 of file ranges-append.hpp.

## n

template<class I>

int Gecode::Iter::Ranges::NaryAppend< I >::n

protected

Number of iterators.

Definition at line 86 of file ranges-append.hpp.

## active

template<class I>

int Gecode::Iter::Ranges::NaryAppend< I >::active

protected

Number of current iterator being processed.

Definition at line 88 of file ranges-append.hpp.

The documentation for this class was generated from the following file:

- gecode/iter/ranges-append.hpp