40 namespace Gecode {
namespace Iter {
namespace Ranges {
49 template<
class I,
bool strict=false>
80 unsigned int width(
void)
const;
85 template<
class I,
bool strict>
89 template<
class I,
bool strict>
94 while (
i() && (
i.max() < 0)) ++
i;
96 while (
i() && (
i.max() <= 0)) ++
i;
100 template<
class I,
bool strict>
106 template<
class I,
bool strict>
111 template<
class I,
bool strict>
117 template<
class I,
bool strict>
126 template<
class I,
bool strict>
131 template<
class I,
bool strict>
134 return static_cast<unsigned int>(
max()-
min()+1);
const FloatNum max
Largest allowed float value.
void operator++(void)
Move iterator to next range (if possible)
void init(I &i)
Initialize with ranges from i.
bool operator()(void) const
Test whether iterator is still at a range or done.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
Gecode toplevel namespace
int min(void) const
Return smallest value of range.
Range iterator for positive part of a range iterator.
int max(void) const
Return largest value of range.
Positive(void)
Default constructor.