Range and value iterators
Common functionality

## Topics

| Range iterators
| Value iterators

## Detailed Description

Both range and value iterators have a rather simple interface for controlling iteration (which deviates from what you might be used to from other iterators).

The application operator (if `i` is an iterator, it is invoked by `i()` ) tests whether an iterator has not yet reached its end (in this case, `true` is returned). The prefix increment operator (if `i` is an iterator, this is invoked as `++i`) moves the iterator to the next element (either next value or next range).

Value iterators provide access to the value by the member function `val()`. Range iterators provide access to the smallest, largest, and width of the current range by `min()`, `max()`, and `width()` respectively.

Requires

#include <gecode/iter.hh>
iter.hh