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

Range iterator for computing the complement (described by values). More...

`#include <ranges-compl.hpp>`

## Protected Member Functions

void | start (void)
| Initialize.
Protected Member Functions inherited from Gecode::Iter::Ranges::MinMax
void | finish (void)
| Set range such that iteration stops

## Protected Attributes

int | UMIN
| Values describing the universe set.
int | UMAX
I | i
| Iterator to compute complement for.
Protected Attributes inherited from Gecode::Iter::Ranges::MinMax
int | mi
| Minimum of current range.
int | ma
| Maximum of current range.

## Constructors and initialization

| ComplVal (void)
| Default constructor.
| ComplVal (int umin, int umax, I &i)
| Initialize with iterator i.
void | init (int umin, int umax, I &i)
| Initialize with iterator 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).

## Detailed Description

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

Range iterator for computing the complement (described by values).

The complement is computed with respect to a given universe set provided as arguments upon initialization. The universe must always be a superset!

Definition at line 85 of file ranges-compl.hpp.

## Constructor & Destructor Documentation

## ComplVal() [1/2]

template<class I>

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

inline

Default constructor.

Definition at line 185 of file ranges-compl.hpp.

## ComplVal() [2/2]

template<class I>

Gecode::Iter::Ranges::ComplVal< I >::ComplVal | ( | int | umin,
|  | int | umax,
|  | I & | i )

inline

Initialize with iterator i.

Definition at line 189 of file ranges-compl.hpp.

## Member Function Documentation

## start()

template<class I>

void Gecode::Iter::Ranges::ComplVal< I >::start | ( | void |  | ) |

inline protected

Initialize.

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

## init()

template<class I>

void Gecode::Iter::Ranges::ComplVal< I >::init | ( | int | umin,
|  | int | umax,
|  | I & | i )

inline

Initialize with iterator i.

Definition at line 196 of file ranges-compl.hpp.

## operator++()

template<class I>

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

inline

Move iterator to next range (if possible).

Definition at line 202 of file ranges-compl.hpp.

## Member Data Documentation

## UMIN

template<class I>

int Gecode::Iter::Ranges::ComplVal< I >::UMIN

protected

Values describing the universe set.

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

## UMAX

template<class I>

int Gecode::Iter::Ranges::ComplVal< I >::UMAX

protected

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

## i

template<class I>

I Gecode::Iter::Ranges::ComplVal< I >::i

protected

Iterator to compute complement for.

Definition at line 90 of file ranges-compl.hpp.

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

- gecode/iter/ranges-compl.hpp