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

Range iterator with size counting More...

`#include <ranges-size.hpp>`

## Protected Attributes

I | i
| Iterator to compute size of.
unsigned int | _size
| Accumulated size.

## Constructors and initialization

| Size (void)
| Default constructor.
| Size (I &i)
| Initialize with ranges from i.
void | init (I &i)
| Initialize with ranges from i.

## Iteration control

bool | operator() (void)
| Test whether iterator is still at a range or done.
void | operator++ (void)
| Move iterator to next range (if possible).

## Range access

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).

## Size access

unsigned int | size (void) const
| Return accumulated size.

## Detailed Description

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

Range iterator with size counting

Allows to iterate the ranges as defined by the input iterator and access the size of the set already iterated. After complete iteration, the reported size is thus the size of the set.

Definition at line 46 of file ranges-size.hpp.

## Constructor & Destructor Documentation

## Size() [1/2]

template<class I>

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

inline

Default constructor.

Definition at line 91 of file ranges-size.hpp.

## Size() [2/2]

template<class I>

Gecode::Iter::Ranges::Size< I >::Size | ( | I & | i | ) |

inline

Initialize with ranges from i.

Definition at line 103 of file ranges-size.hpp.

## Member Function Documentation

## init()

template<class I>

void Gecode::Iter::Ranges::Size< I >::init | ( | I & | i | ) |

inline

Initialize with ranges from i.

Definition at line 96 of file ranges-size.hpp.

## operator()()

template<class I>

bool Gecode::Iter::Ranges::Size< I >::operator() | ( | void |  | ) |

inline

Test whether iterator is still at a range or done.

Definition at line 113 of file ranges-size.hpp.

## operator++()

template<class I>

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

inline

Move iterator to next range (if possible).

Definition at line 107 of file ranges-size.hpp.

## min()

template<class I>

int Gecode::Iter::Ranges::Size< I >::min | ( | void |  | ) | const

inline

Return smallest value of range.

Definition at line 119 of file ranges-size.hpp.

## max()

template<class I>

int Gecode::Iter::Ranges::Size< I >::max | ( | void |  | ) | const

inline

Return largest value of range.

Definition at line 124 of file ranges-size.hpp.

## width()

template<class I>

unsigned int Gecode::Iter::Ranges::Size< I >::width | ( | void |  | ) | const

inline

Return width of range (distance between minimum and maximum).

Definition at line 129 of file ranges-size.hpp.

## size()

template<class I>

unsigned int Gecode::Iter::Ranges::Size< I >::size | ( | void |  | ) | const

inline

Return accumulated size.

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

## Member Data Documentation

## i

template<class I>

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

protected

Iterator to compute size of.

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

## _size

template<class I>

unsigned int Gecode::Iter::Ranges::Size< I >::_size

protected

Accumulated size.

Definition at line 51 of file ranges-size.hpp.

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

- gecode/iter/ranges-size.hpp