44 namespace Gecode {
namespace Set {
352 bool operator ()(
void)
const;
355 void operator ++(
void);
365 unsigned int width(
void)
const;
372 : lb(s.
base()), lbc(lb) {}
472 unsigned int width(
void)
const;
479 : ub(s.base()), ubc(ub) {}
544 template<
class Char,
class Traits,
class View>
545 std::basic_ostream<Char,Traits>&
546 operator <<(std::basic_ostream<Char,Traits>& os,
548 std::basic_ostringstream<Char,Traits> s;
549 s.copyfmt(os); s.width(0);
550 s <<
"(" <<
x.base() <<
")^C";
551 return os << s.str();
unsigned int glbSize(void) const
Return the number of elements in the greatest lower bound.
const Gecode::PropCond PC_SET_CLUB
Propagate when the cardinality or the least upper bound of a view changes.
View base(void) const
Return view from which this view is derived.
bool notContains(int i) const
Test whether i is not in the least upper bound.
static ModEvent modevent(const Delta &d)
Return modification event.
int min(void) const
Return smallest value of range.
ComplementView(void)
Default constructor.
const Gecode::ModEvent ME_SET_LUB
Domain operation has changed the least upper bound.
Range iterator for singleton range.
int max(void) const
Return largest value of range.
int glbMin(void) const
Return minimum of the greatest lower bound.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
unsigned int cardMax(void) const
Return maximum cardinality.
int ModEvent
Type for modification events.
Base-class for propagators.
int max(void) const
Return largest value of range.
bool lubAny(const Delta &d) const
Test whether arbitrary values got pruned from lub.
ModEvent intersectI(Space &home, I &iter)
Intersect least upper bound with range sequence described by i.
static const int MIN_OF_EMPTY
Returned by empty sets when asked for their minimum element.
const unsigned int card
Maximum cardinality of an integer set.
Base-class for derived views.
int glbMax(void) const
Return maximum of the greatest lower bound.
unsigned int lubSize(void) const
Return the number of elements in the least upper bound.
static const int MAX_OF_EMPTY
Returned by empty sets when asked for their maximum element.
Gecode::FloatVal c(-8, 8)
int lubMin(void) const
Return minimum of the least upper bound.
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.
void cancel(Space &home, Propagator &p, PropCond pc)
Cancel subscription of propagator p with propagation condition pc to view.
ModEvent intersect(Space &home, int i, int j)
Update least upper bound to contain at most all elements between and including i and j...
static ModEventDelta med(ModEvent)
Translate modification event me to modification event delta for view.
static ModEvent me_negateset(ModEvent me)
Negate the modification event me.
const Gecode::ModEvent ME_SET_CGLB
Domain operation has changed the greatest lower bound and the cardinality.
int PropCond
Type for propagation conditions.
A complement iterator spezialized for the BndSet limits.
int min(void) const
Return smallest value of range.
void operator++(void)
Move iterator to next range (if possible)
int lubMax(void) const
Return maximum of the least upper bound.
struct Gecode::@519::NNF::@60::@62 a
For atomic nodes.
const Gecode::ModEvent ME_SET_GLB
Domain operation has changed the greatest lower bound.
ModEvent includeI(Space &home, I &i)
Include range sequence described by i in greatest lower bound.
const Gecode::ModEvent ME_SET_NONE
Domain operation has not changed domain.
bool contains(int i) const
Test whether i is in the greatest lower bound.
void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
unsigned int unknownSize(void) const
Return the number of unknown elements.
ModEvent excludeI(Space &home, I &i)
Remove range sequence described by i from least upper bound.
bool glbAny(const Delta &d) const
Test whether arbitrary values got pruned from glb.
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to view.
Node * x
Pointer to corresponding Boolean expression node.
Generic domain change information to be supplied to advisors.
unsigned int cardMin(void) const
Return minimum cardinality.
const Gecode::PropCond PC_SET_CGLB
Propagate when the cardinality or the greatest lower bound of a view changes.
const Gecode::ModEvent ME_SET_CLUB
Domain operation has changed the least upper bound and the cardinality.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
GlbRanges(void)
Default constructor.
void init(const T &x)
Initialize with least upper bound ranges for set variable x.
View x
View from which this view is derived.
int max(void) const
Return largest value of range.
Gecode toplevel namespace
int min(void) const
Return smallest value of range.
LubRanges(void)
Default constructor.
static void schedule(Space &home, Propagator &p, ModEvent me)
Schedule propagator p with modification event me.
static PropCond pc_negateset(PropCond pc)
Negate the propagation condition pc.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
int ModEventDelta
Modification event deltas.
bool operator()(void) const
Test whether iterator is still at a range or done.
ModEvent exclude(Space &home, int i, int j)
Restrict least upper bound to not contain all elements between and including i and j...
void init(const T &x)
Initialize with greatest lower bound ranges for set variable x.
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
ModEvent include(Space &home, int i, int j)
Update greatest lower bound to include all elements between and including i and j.