36namespace 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>
117 return std::max(i.min(),1);
119 return std::max(i.min(),0);
122 template<
class I,
bool strict>
127 template<
class I,
bool strict>
130 return static_cast<unsigned int>(
max()-
min()+1);
Range iterator for positive part of a range iterator.
int min(void) const
Return smallest value of range.
Positive(void)
Default constructor.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
void operator++(void)
Move iterator to next range (if possible)
void init(I &i)
Initialize with ranges from i.
int max(void) const
Return largest value of range.
bool operator()(void) const
Test whether iterator is still at a range or done.
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 .