34namespace Gecode {
namespace Iter {
namespace Ranges {
42 template<
class I,
class J>
69 template<
class I,
class J>
84 while (j() && (j.max() < mi))
86 if (j() && (j.min() <= ma)) {
89 if ((mi >= j.min()) && (ma <= j.max()))
96 if (j() && (j.min() <= ma))
107 template<
class I,
class J>
111 template<
class I,
class J>
123 template<
class I,
class J>
130 mi = i.min()-1; ma = mi;
Range iterator for computing set difference.
Diff(void)
Default constructor.
Diff(I &i, J &j)
Initialize with iterator i and j.
void init(I &i, J &j)
Initialize with iterator i and j.
J j
Iterator to be subtracted.
I i
Iterator from which to subtract.
void operator++(void)
Move iterator to next range (if possible)
Base for range iterators with explicit min and max.
int ma
Maximum of current range.
int mi
Minimum of current range.
void finish(void)
Set range such that iteration stops
Gecode toplevel namespace