36 namespace Gecode {
namespace Iter {
namespace Ranges {
46 template<
class I,
bool strict=false>
77 unsigned int width(
void)
const;
82 template<
class I,
bool strict>
86 template<
class I,
bool strict>
92 template<
class I,
bool strict>
96 template<
class I,
bool strict>
101 template<
class I,
bool strict>
105 return i() && (
i.min() < 0);
107 return i() && (
i.min() <= 0);
111 template<
class I,
bool strict>
116 template<
class I,
bool strict>
125 template<
class I,
bool strict>
128 return static_cast<unsigned int>(
max()-
min()+1);
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)
const FloatNum min
Smallest allowed float value.
Negative(void)
Default constructor.
Range iterator for negative part of a range iterator.
int max(void) const
Return largest value of range.
void init(I &i)
Initialize with ranges from i.
int min(void) const
Return smallest value of range.
void operator++(void)
Move iterator to next range (if possible)
Gecode toplevel namespace