36 namespace Gecode {
namespace Iter {
namespace Ranges {
45 template<
class I,
bool strict=false>
76 unsigned int width(
void)
const;
81 template<
class I,
bool strict>
85 template<
class I,
bool strict>
90 while (
i() && (
i.max() < 0)) ++
i;
92 while (
i() && (
i.max() <= 0)) ++
i;
96 template<
class I,
bool strict>
102 template<
class I,
bool strict>
107 template<
class I,
bool strict>
113 template<
class I,
bool strict>
122 template<
class I,
bool strict>
127 template<
class I,
bool strict>
130 return static_cast<unsigned int>(
max()-
min()+1);
const FloatNum max
Largest allowed float value.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
int max(void) const
Return largest value of range.
void operator++(void)
Move iterator to next range (if possible)
void init(I &i)
Initialize with ranges from i.
int min(void) const
Return smallest value of range.
bool operator()(void) const
Test whether iterator is still at a range or done.
Gecode toplevel namespace
Range iterator for positive part of a range iterator.
Positive(void)
Default constructor.