# 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 50 of file ranges-size.hpp.

## Constructor & Destructor Documentation

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

Default constructor.

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

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

Initialize with ranges from *i*.

Definition at line 107 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 100 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 117 of file ranges-size.hpp.

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

Move iterator to next range (if possible).

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

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

Return smallest value of range.

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

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

Return largest value of range.

Definition at line 128 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 133 of file ranges-size.hpp.

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

Return accumulated size.

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

## Member Data Documentation

I Gecode::Iter::Ranges::Size< I >::i` [protected]` |

Iterator to compute size of.

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

unsigned int Gecode::Iter::Ranges::Size< I >::_size` [protected]` |

Accumulated size.

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

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

- gecode/iter/ranges-size.hpp (Revision: 11294)