36namespace Gecode {
namespace Set {
45 : DerivedView<View>(
y) {}
124 return x.include(home,i);
130 return x.exclude(home,i);
136 return x.intersect(home,i);
142 return x.intersect(home,i,j);
148 return x.include(home,i,j);
154 return x.exclude(home,i,j);
160 return x.excludeI(home,iter);
166 return x.includeI(home,iter);
172 return x.intersectI(home,iter);
179 x.subscribe(home,p,pc,schedule);
203 return View::schedule(home,p,me);
208 return View::me(med);
214 return View::med(me);
225 return View::modevent(d);
267 lubCache.
update(home,
y.lubCache);
268 glbCache.update(home,
y.glbCache);
282 glbCache.includeI(home,gr);
285 lubCache.intersectI(home,lr);
292 glbCache.includeI(home,gr);
299 lubCache.intersectI(home,lr);
305 return glbCache.
size() != glbSize();
311 return lubCache.
size() != lubSize();
372 template<
class Char,
class Traits,
class View>
373 std::basic_ostream<Char,Traits>&
376 return os <<
x.base();
382 return x.base() ==
y.base();
388 return x.base() !=
y.base();
394 : gr(
x.base()), cr(
x.glbCache) {
401 : cr(
x.lubCache), lr(
x.base()) {
Generic domain change information to be supplied to advisors.
Base-class for derived views.
View base(void) const
Return view from which this view is derived.
Range iterator for integer sets.
unsigned int size(void) const
Return size (cardinality) of domain.
void update(Space &home, CachedView< View > &y)
Update this view to be a clone of view y.
Range iterator for computing set difference.
void init(GlbRanges< View > &i, BndSetRanges &j)
Base-class for propagators.
unsigned int cardMax(void) const
Return cardinality maximum.
bool notContains(int i) const
Test whether i is not in the least upper bound.
int lubMin(void) const
Return minimum element of least upper bound.
unsigned int lubSize(void) const
Return number of elements in the least upper bound.
int lubMax(void) const
Return maximum element of least upper bound.
unsigned int glbSize(void) const
Return number of elements in the greatest lower bound.
int glbMin(void) const
Return minimum element of greatest lower bound.
unsigned int unknownSize(void) const
Return number of unknown elements (elements in lub but not in glb)
int glbMax(void) const
Return maximum of greatest lower bound.
bool contains(int i) const
Test whether i is in greatest lower bound.
unsigned int cardMin(void) const
Return cardinality minimum.
Range iterator for integer sets.
CachedView(void)
Default constructor.
GlbRanges< View > gr
Lower bound iterator.
GlbDiffRanges(const CachedView< View > &x)
Constructor.
BndSetRanges cr
Cached lower bound.
GlbRanges(void)
Default constructor.
Range iterator for the greatest lower bound.
void init(const T &x)
Initialize with greatest lower bound ranges for set variable x.
GlbRanges(void)
Default constructor.
LubRanges< View > lr
Upper bound iterator.
BndSetRanges cr
Cached upper bound.
LubDiffRanges(const CachedView< View > &x)
Constructor.
LubRanges(void)
Default constructor.
Range iterator for the least upper bound.
void init(const T &x)
Initialize with least upper bound ranges for set variable x.
int ModEventDelta
Modification event deltas.
std::basic_ostream< Char, Traits > & operator<<(std::basic_ostream< Char, Traits > &os, const IdxViewArray< View > &x)
bool operator==(const CachedView< View > &x, const CachedView< View > &y)
bool operator!=(const CachedView< View > &x, const CachedView< View > &y)
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar y
int PropCond
Type for propagation conditions.
Post propagator for SetVar x
int ModEvent
Type for modification events.