Gecode::Iter::Ranges Namespace Reference

Range iterators. More...

## Classes

class | AddRange
| Range iterator for adding a single range to a range iterator. More...
class | SubRange
| Range iterator for subtracting a single range from a range iterator. More...
class | Append
| Range iterator for appending two range iterators More...
class | NaryAppend
| Range iterator for appending arbitrarily many iterators. More...
class | Array
| Range iterator for array of ranges More...
class | Cache
| Range iterator cache More...
class | Compl
| Range iterator for computing the complement (described by template arguments). More...
class | ComplVal
| Range iterator for computing the complement (described by values). More...
class | Diff
| Range iterator for computing set difference. More...
class | Empty
| Range iterator for empty range. More...
class | Inter
| Range iterator for computing intersection (binary). More...
class | NaryInter
| Range iterator for intersection of iterators. More...
class | RangeListIter
| Iterator over range lists. More...
class | Map
| Range iterator for mapping ranges. More...
class | Map< I, M, false >
| Specialized mapping of ranges for non-strict maps. More...
class | Map< I, M, true >
| Specialized mapping of ranges for strict maps. More...
class | MinMax
| Base for range iterators with explicit min and max. More...
class | Minus
| Range iterator for pointwise minus of a range iterator. More...
class | Negative
| Range iterator for negative part of a range iterator. More...
class | Offset
| Range iterator for pointwise offset (by some constant). More...
class | Positive
| Range iterator for positive part of a range iterator. More...
class | RangeList
| Range iterator for range lists More...
class | ScaleUp
| Range iterator for pointwise product with a positive integer. More...
class | ScaleDown
| Range iterator for pointwise division by a positive integer. More...
class | SingletonAppend
| Range iterator for appending a singleton with a range iterator More...
class | Singleton
| Range iterator for singleton range. More...
class | Size
| Range iterator with size counting More...
class | Union
| Range iterator for computing union (binary). More...
class | NaryUnion
| Range iterator for union of iterators. More...
class | ToValues
| Value iterator from range iterator. More...

## Enumerations

enum | CompareStatus { CS_SUBSET , CS_DISJOINT , CS_NONE }
| Comapre two iterators with each other. More...

## Functions

template<class I>
unsigned int | size (I &i)
| Size of all ranges of range iterator i.
template<class I, class J>
bool | equal (I &i, J &j)
| Check whether range iterators i and j are equal.
template<class I, class J>
bool | subset (I &i, J &j)
| Check whether range iterator i is subset of range iterator j.
template<class I, class J>
bool | disjoint (I &i, J &j)
| Check whether range iterators i and j are disjoint.
template<class I, class J>
CompareStatus | compare (I &i, J &j)
| Check whether range iterator i is a subset of j, or whether they are disjoint.

## Detailed Description

Range iterators.

## Enumeration Type Documentation

## CompareStatus

enum Gecode::Iter::Ranges::CompareStatus

Comapre two iterators with each other.

Enumerator
CS_SUBSET | First is subset of second iterator.
CS_DISJOINT | Intersection is empty.
CS_NONE | Neither of the above.

Definition at line 60 of file ranges-operations.hpp.

## Function Documentation

## size()

template<class I>

unsigned int Gecode::Iter::Ranges::size | ( | I & | i | ) |

inline

Size of all ranges of range iterator i.

Definition at line 74 of file ranges-operations.hpp.

## equal()

template<class I, class J>

bool Gecode::Iter::Ranges::equal | ( | I & | i,
|  | J & | j )

inline

Check whether range iterators i and j are equal.

Definition at line 84 of file ranges-operations.hpp.

## subset()

template<class I, class J>

bool Gecode::Iter::Ranges::subset | ( | I & | i,
|  | J & | j )

inline

Check whether range iterator i is subset of range iterator j.

Definition at line 97 of file ranges-operations.hpp.

## disjoint()

template<class I, class J>

bool Gecode::Iter::Ranges::disjoint | ( | I & | i,
|  | J & | j )

inline

Check whether range iterators i and j are disjoint.

Definition at line 112 of file ranges-operations.hpp.

## compare()

template<class I, class J>

CompareStatus Gecode::Iter::Ranges::compare | ( | I & | i,
|  | J & | j )

inline

Check whether range iterator i is a subset of j, or whether they are disjoint.

Definition at line 127 of file ranges-operations.hpp.