45 unsigned int size(I& i);
48 template<
class I,
class J>
49 bool equal(I& i, J& j);
52 template<
class I,
class J>
56 template<
class I,
class J>
67 template<
class I,
class J>
82 template<
class I,
class J>
87 if ((i.min() == j.min()) && (i.max() == j.max())) {
95 template<
class I,
class J>
100 if (j.max() < i.min()) {
102 }
else if ((i.min() >= j.min()) && (i.max() <= j.max())) {
110 template<
class I,
class J>
115 if (j.max() < i.min()) {
117 }
else if (i.max() < j.min()) {
125 template<
class I,
class J>
131 if (j.max() < i.min()) {
133 }
else if (i.max() < j.min()) {
135 }
else if ((i.min() >= j.min()) && (i.max() <= j.max())) {
137 }
else if (i.max() <= j.max()) {
139 }
else if (j.max() <= i.max()) {
CompareStatus
Comapre two iterators with each other.
@ CS_NONE
Neither of the above.
@ CS_SUBSET
First is subset of second iterator.
@ CS_DISJOINT
Intersection is empty.
bool subset(I &i, J &j)
Check whether range iterator i is subset of range iterator j.
CompareStatus compare(I &i, J &j)
Check whether range iterator i is a subset of j, or whether they are disjoint.
unsigned int size(I &i)
Size of all ranges of range iterator i.
bool equal(I &i, J &j)
Check whether range iterators i and j are equal.
bool disjoint(I &i, J &j)
Check whether range iterators i and j are disjoint.
Range and value iterators.
Gecode toplevel namespace