36namespace 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>
120 return std::min(i.max(),-1);
122 return std::min(i.max(),0);
125 template<
class I,
bool strict>
128 return static_cast<unsigned int>(
max()-
min()+1);
Range iterator for negative part of a range iterator.
Negative(void)
Default constructor.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
void init(I &i)
Initialize with ranges from i.
bool operator()(void) const
Test whether iterator is still at a range or done.
int min(void) const
Return smallest value of range.
void operator++(void)
Move iterator to next range (if possible)
int max(void) const
Return largest value of range.
Gecode toplevel namespace
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .