34namespace Gecode {
namespace Iter {
namespace Ranges {
45 unsigned int size(I&
i);
48 template<
class I,
class 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.
Gecode toplevel namespace
Gecode::IntArgs i({1, 2, 3, 4})