Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::Iter::Ranges Namespace Reference

Range iterators. More...

Classes

class  AddRange
 Range iterator for adding a single range to a range iterator. More...
class  Append
 Range iterator for appending two range 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  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  NaryAppend
 Range iterator for appending arbitrarily many iterators. More...
class  NaryInter
 Range iterator for intersection of iterators. More...
class  NaryUnion
 Range iterator for union of iterators. 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  RangeListIter
 Iterator over range lists. More...
class  ScaleDown
 Range iterator for pointwise division by a positive integer. More...
class  ScaleUp
 Range iterator for pointwise product with a positive integer. More...
class  Singleton
 Range iterator for singleton range. More...
class  SingletonAppend
 Range iterator for appending a singleton with a range iterator More...
class  Size
 Range iterator with size counting More...
class  SubRange
 Range iterator for subtracting a single range from a range iterator. More...
class  ToValues
 Value iterator from range iterator. More...
class  Union
 Range iterator for computing union (binary) 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

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.