114 unsigned int width(
void)
const;
129 :
rlio(NULL),
h(NULL),
c(NULL) {}
151 if ((
rlio != NULL) && (--
rlio->use_cnt == 0)) {
166 if ((
rlio != NULL) && (--
rlio->use_cnt == 0)) {
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)
BlockAllocator(Region &a)
Client for block allocator of type T.
Base * next(void) const
Return next test.
Range and value iterators.
Support algorithms and datastructures
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r