38 #ifndef __GECODE_INT_VALSET_HH__
39 #define __GECODE_INT_VALSET_HH__
43 namespace Gecode {
namespace Int {
64 bool empty(
void)
const;
107 unsigned int width(
void)
const;
RangeList * fst
First element of range list.
int size(void) const
Return size (number of values)
RangeList * lst
Last element of range list.
void dispose(Space &home)
Dispose value set.
void flush(void)
Flush entries.
Iter::Ranges::CompareStatus compare(View x) const
Compare view x with value set.
Ranges(const ValSet &vs)
Initialize.
bool subset(View x) const
Whether all values of x are included in the value set.
CompareStatus
Comapre two iterators with each other.
int min(void) const
Return smallest value (provided the set is not empty)
bool operator()(void) const
Test whether iterator is still at a range or done.
void operator++(void)
Move iterator to next range (if possible)
int n
Number of stored values (integer precision is sufficient)
Node * x
Pointer to corresponding Boolean expression node.
int min(void) const
Return smallest value of range.
int max(void) const
Return largest value (provided the set is not empty)
int max(void) const
Return largest value of range.
bool empty(void) const
Test whether set is empty.
Class for storing values of already assigned views.
Lists of ranges (intervals)
Gecode toplevel namespace
void update(Space &home, bool share, ValSet &vs)
Update value set during cloning.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
void add(Space &home, int v)
Add value v to value set.