34namespace Gecode {
namespace Iter {
namespace Ranges {
114 unsigned int width(
void)
const;
129 :
rlio(NULL),
h(NULL),
c(NULL) {}
133 : rlio(new (
r.ralloc(sizeof(
RLIO)))
RLIO(
r)), h(NULL), c(NULL) {}
143 : rlio(i.rlio), h(i.h), c(i.c) {
207 return range(i.min(),i.max(),f);
213 return range(i.min(),i.max());
254 return static_cast<unsigned int>(
c->
max-
c->
min)+1;
Shared object for allocation.
unsigned int use_cnt
Counter used for reference counting.
RLIO(Region &r)
Initialize.
int min
Minimum and maximum of a range.
RangeList * next
Next element.
Iterator over range lists.
RangeList * copy(I &i)
Copy the iterator i to a range list.
int max(void) const
Return largest value of range.
RangeList * get(void) const
Get head of current range list.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
void init(Region &r)
Initialize.
void operator++(void)
Move iterator to next range (if possible)
~RangeListIter(void)
Destructor.
RangeListIter(void)
Default constructor.
RLIO * rlio
Reference to shared object.
RangeListIter & operator=(const RangeListIter &i)
Assignment operator.
RangeList * range(int min, int max, RangeList *&f)
Create new range possibly from freelist f and init.
void set(RangeList *l)
Set range lists.
RangeList * c
Current list element.
bool operator()(void) const
Test whether iterator is still at a range or done.
void reset(void)
Reset iterator to start.
RangeList * h
Head of range list.
int min(void) const
Return smallest value of range.
Manage memory organized into block lists (allocator)
A & allocator(void)
Return allocator used.
Client for block allocator of type T.
Base * next(void) const
Return next test.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
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 .