39 namespace Gecode {
namespace Set {
46 SetVarImp::cardMin_full(Space& home) {
53 return notify(home, me, d);
57 SetVarImp::cardMax_full(Space& home) {
64 return notify(home, me, d);
68 SetVarImp::processLubChange(Space& home, SetDelta&
d) {
83 assert(d.glbMin() == 1);
84 assert(d.glbMax() == 0);
86 return notify(home, me, d);
90 SetVarImp::processGlbChange(Space& home, SetDelta& d) {
105 assert(d.lubMin() == 1);
106 assert(d.lubMax() == 0);
108 return notify(home, me, d);
131 SetVarImp::perform_copy(
Space& home) {
unsigned int cardMin(void) const
Return current cardinality minimum.
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to variable.
const Gecode::ModEvent ME_SET_LUB
Domain operation has changed the least upper bound.
bool assigned(void) const
Test whether variable is assigned.
int ModEvent
Type for modification events.
Base-class for propagators.
Finite integer set variable implementation.
void subscribe(Gecode::Space &home, Gecode::Propagator &p, Gecode::PropCond pc, bool assigned, bool schedule)
Subscribe propagator p with propagation condition pc.
static void schedule(Gecode::Space &home, Gecode::Propagator &p, Gecode::ModEvent me)
Schedule propagator p.
int p
Number of positive literals for node type.
unsigned int size(void) const
Return size.
void become(Space &home, const BndSet &s)
Make this set equal to s.
static ModEvent me(const ModEventDelta &med)
Project modification event for this variable type from med.
unsigned int cardMax(void) const
Return current cardinality maximum.
void reschedule(Space &home, Propagator &p, PropCond pc)
Re-schedule propagator p with propagation condition pc.
const Gecode::ModEvent ME_SET_CGLB
Domain operation has changed the greatest lower bound and the cardinality.
int PropCond
Type for propagation conditions.
void reschedule(Gecode::Space &home, Gecode::Propagator &p, Gecode::PropCond pc, bool assigned)
Re-schedule propagator p.
const Gecode::ModEvent ME_SET_GLB
Domain operation has changed the greatest lower bound.
void update(Space &home, BndSet &x)
Update this set to be a clone of set x.
Base-class for Set-variable implementations.
const Gecode::ModEvent ME_SET_CLUB
Domain operation has changed the least upper bound and the cardinality.
ModEvent fail(Space &home)
Run advisors to be run on failure and returns ME_GEN_FAILED.
Post propagator for SetVar x
SetVarImp(Space &home, SetVarImp &x)
Constructor for cloning x.
Gecode::ModEvent notify(Gecode::Space &home, Gecode::ModEvent me, Gecode::Delta &d)
Notify that variable implementation has been modified with modification event me and delta informatio...
Gecode toplevel namespace
const Gecode::ModEvent ME_SET_VAL
Domain operation has resulted in a value (assigned variable)
const Gecode::ModEvent ME_SET_CARD
Domain operation has changed the variable cardinality.
unsigned int card(void) const
Return cardinality.
struct Gecode::@593::NNF::@62::@64 a
For atomic nodes.