36 namespace Gecode {
namespace Set {
45 : DerivedView<View>(
y) {}
62 return x.unknownSize();
112 return x.cardMin(home,m);
118 return x.cardMax(home,m);
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()) {
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Node * x
Pointer to corresponding Boolean expression node.
struct Gecode::@602::NNF::@65::@67 a
For atomic nodes.
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.
CachedView(void)
Default constructor.
Range iterator for computing set difference.
void init(GlbRanges< View > &i, BndSetRanges &j)
Initialize with iterator i and j.
Base-class for propagators.
Range iterator for integer sets.
GlbRanges< View > gr
Lower bound iterator.
GlbDiffRanges(const CachedView< View > &x)
Constructor.
BndSetRanges cr
Cached 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.
void init(const T &x)
Initialize with least upper bound ranges for set variable x.
int PropCond
Type for propagation conditions.
int ModEvent
Type for modification events.
Post propagator for SetVar SetOpType SetVar y
int ModEventDelta
Modification event deltas.
FloatVal intersect(const FloatVal &x, const FloatVal &y)
void cancel(Space &home, Propagator &p, IntSet &y)
void subscribe(Space &home, Propagator &p, IntSet &y)
void update(IntSet &y, Space &home, IntSet &py)
ModEvent exclude(Space &home, View &x, int s)
Prune view x to exclude all values from s.
ModEvent include(Space &home, View &x, int s)
Prune view x to only include values from s.
const double base
Base for geometric restart sequence.
bool operator==(const CachedView< View > &x, const CachedView< View > &y)
bool operator!=(const CachedView< View > &x, const CachedView< View > &y)
std::basic_ostream< Char, Traits > & operator<<(std::basic_ostream< Char, Traits > &os, const CachedView< View > &x)
Gecode::IntArgs i({1, 2, 3, 4})