# Gecode::Iter::Ranges::Size< I > Class Template Reference

[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

Gecode::Iter::Ranges::Size< I >::Size | ( | void | ) | ` [inline]` |

Default constructor.

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

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

void Gecode::Iter::Ranges::Size< I >::init | ( | I & | i |
) | ` [inline]` |

Initialize with ranges from *i*.

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

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.

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.

int Gecode::Iter::Ranges::Size< I >::min | ( | void | ) | const` [inline]` |

Return smallest value of range.

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

int Gecode::Iter::Ranges::Size< I >::max | ( | void | ) | const` [inline]` |

Return largest value of range.

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

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.

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 Gecode::Iter::Ranges::Size< I >::i` [protected]` |

Iterator to compute size of.

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

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