Gecode::Iter::Ranges::Compl< UMIN, UMAX, I > Class Template Reference
Common functionality » Range and value iterators » Range iterators

Range iterator for computing the complement (described by template arguments). 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

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

| Compl (void)
| Default constructor.
| Compl (I &i)
| Initialize with iterator i.
void | init (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<int UMIN, int UMAX, class I>
class Gecode::Iter::Ranges::Compl< UMIN, UMAX, I >

Range iterator for computing the complement (described by template arguments).

The complement is computed with respect to a given universe set provided as template arguments (UMIN ... UMAX). The universe must always be a superset!

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

## Constructor & Destructor Documentation

## Compl() [1/2]

template<int UMIN, int UMAX, class I>

Gecode::Iter::Ranges::Compl< UMIN, UMAX, I >::Compl | ( | void |  | ) |

inline

Default constructor.

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

## Compl() [2/2]

template<int UMIN, int UMAX, class I>

Gecode::Iter::Ranges::Compl< UMIN, UMAX, I >::Compl | ( | I & | i | ) |

inline

Initialize with iterator i.

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

## Member Function Documentation

## start()

template<int UMIN, int UMAX, class I>

void Gecode::Iter::Ranges::Compl< UMIN, UMAX, I >::start | ( | void |  | ) |

inline protected

Initialize.

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

## init()

template<int UMIN, int UMAX, class I>

void Gecode::Iter::Ranges::Compl< UMIN, UMAX, I >::init | ( | I & | i | ) |

inline

Initialize with iterator i.

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

## operator++()

template<int UMIN, int UMAX, class I>

void Gecode::Iter::Ranges::Compl< UMIN, UMAX, I >::operator++ | ( | void |  | ) |

inline

Move iterator to next range (if possible).

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

## Member Data Documentation

## i

template<int UMIN, int UMAX, class I>

I Gecode::Iter::Ranges::Compl< UMIN, UMAX, I >::i

protected

Iterator to compute complement for.

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

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

- gecode/iter/ranges-compl.hpp