40 namespace Gecode {
namespace Set {
49 : DerivedView<View>(
y) {}
128 return x.include(home,
i);
134 return x.exclude(home,
i);
140 return x.intersect(home,
i);
146 return x.intersect(home,
i,j);
152 return x.include(home,
i,j);
158 return x.exclude(home,
i,j);
164 return x.excludeI(home,iter);
170 return x.includeI(home,iter);
176 return x.intersectI(home,iter);
183 x.subscribe(home,
p,pc,schedule);
207 return View::schedule(home,
p,me);
212 return View::me(med);
218 return View::med(me);
229 return View::modevent(
d);
271 lubCache.update(home,
y.lubCache);
272 glbCache.update(home,
y.glbCache);
286 glbCache.includeI(home,gr);
289 lubCache.intersectI(home,lr);
296 glbCache.includeI(home,gr);
303 lubCache.intersectI(home,lr);
309 return glbCache.
size() != glbSize();
315 return lubCache.
size() != lubSize();
376 template<
class Char,
class Traits,
class View>
377 std::basic_ostream<Char,Traits>&
380 return os <<
x.base();
386 : gr(
x.
base()), cr(
x.glbCache) {
393 : cr(
x.lubCache), lr(
x.
base()) {
View base(void) const
Return view from which this view is derived.
int lubMin(void) const
Return minimum element of least upper bound.
static ModEvent modevent(const Delta &d)
Return modification event.
Range iterator for integer sets.
static void schedule(Space &home, Propagator &p, ModEvent me)
Schedule propagator p with modification event me.
int ModEvent
Type for modification events.
void cancel(Space &home, Propagator &p, PropCond pc)
Cancel subscription of propagator p with propagation condition pc to view.
Base-class for propagators.
bool notContains(int i) const
Test whether i is not in the least upper bound.
BndSetRanges cr
Cached lower bound.
Base-class for derived views.
int glbMin(void) const
Return minimum element of greatest lower bound.
ModEvent exclude(Space &home, View &x, int s)
Prune view x to exclude all values from s.
int lubMax(void) const
Return maximum element of least upper bound.
struct Gecode::@579::NNF::@61::@63 a
For atomic nodes.
GlbDiffRanges(const CachedView< View > &x)
Constructor.
int p
Number of positive literals for node type.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
unsigned int unknownSize(void) const
Return number of unknown elements (elements in lub but not in glb)
unsigned int glbSize(void) const
Return number of elements in the greatest lower bound.
FloatVal intersect(const FloatVal &x, const FloatVal &y)
int PropCond
Type for propagation conditions.
unsigned int cardMin(void) const
Return cardinality minimum.
void update(Space &home, bool share, DerivedView< View > &y)
Update this view to be a clone of view y.
Range iterator for integer sets.
CachedView(void)
Default constructor.
int glbMax(void) const
Return maximum of greatest lower bound.
void update(Space &home, bool share, CachedView< View > &y)
Update this view to be a clone of view y.
int med(void) const
Return median of domain (greatest element not greater than the median)
Post propagator for SetVar SetOpType SetVar y
const double base
Base for geometric restart sequence.
Generic domain change information to be supplied to advisors.
ModEvent include(Space &home, View &x, int s)
Prune view x to only include values from s.
GlbRanges(void)
Default constructor.
void init(const T &x)
Initialize with least upper bound ranges for set variable x.
std::basic_ostream< Char, Traits > & operator<<(std::basic_ostream< Char, Traits > &os, const CachedView< View > &x)
Post propagator for SetVar x
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to view.
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
unsigned int cardMax(void) const
Return cardinality maximum.
bool contains(int i) const
Test whether i is in greatest lower bound.
unsigned int size(void) const
Return size (cardinality) of domain.
Gecode toplevel namespace
LubRanges< View > lr
Upper bound iterator.
Range iterator for computing set difference.
LubDiffRanges(const CachedView< View > &x)
Constructor.
LubRanges(void)
Default constructor.
void init(GlbRanges< View > &i, BndSetRanges &j)
Initialize with iterator i and j.
GlbRanges< View > gr
Lower bound iterator.
int ModEventDelta
Modification event deltas.
void initCache(Space &home, const IntSet &s)
Initialize cache to set s.
void init(const T &x)
Initialize with greatest lower bound ranges for set variable x.
unsigned int lubSize(void) const
Return number of elements in the least upper bound.
BndSetRanges cr
Cached upper bound.