|
| | SetVarImp (Space &home) |
| | Initialize with empty lower and full upper bound.
|
| | SetVarImp (Space &home, int glbMin, int glbMax, int lubMin, int lubMax, unsigned int cardMin=0, unsigned int cardMax=Limits::card) |
| | Initialize with given bounds and cardinality.
|
| | SetVarImp (Space &home, const IntSet &glbD, int lubMin, int lubMax, unsigned int cardMin, unsigned int cardMax) |
| | Initialize with given bounds and cardinality.
|
| | SetVarImp (Space &home, int glbMin, int glbMax, const IntSet &lubD, unsigned int cardMin, unsigned int cardMax) |
| | Initialize with given bounds and cardinality.
|
| | SetVarImp (Space &home, const IntSet &glbD, const IntSet &lubD, unsigned int cardMin, unsigned int cardMax) |
| | Initialize with given bounds and cardinality.
|
|
| unsigned int | cardMin (void) const |
| | Return current cardinality minimum.
|
| unsigned int | cardMax (void) const |
| | Return current cardinality maximum.
|
| int | lubMin (void) const |
| | Return minimum of the least upper bound.
|
| int | lubMax (void) const |
| | Return maximum of the least upper bound.
|
| int | lubMinN (unsigned int n) const |
| | Return n -th smallest element in the least upper bound.
|
| int | glbMin (void) const |
| | Return minimum of the greatest lower bound.
|
| int | glbMax (void) const |
| | Return maximum of the greatest lower bound.
|
| unsigned int | glbSize (void) const |
| | Return the size of the greatest lower bound.
|
| unsigned int | lubSize (void) const |
| | Return the size of the least upper bound.
|
|
| ModEvent | include (Space &home, int n) |
| | Include n in the greatest lower bound.
|
| ModEvent | include (Space &home, int i, int j) |
| | Include the range \(\{i,\dots,j\}\) in the greatest lower bound.
|
| ModEvent | exclude (Space &home, int n) |
| | Exclude n from the least upper bound.
|
| ModEvent | exclude (Space &home, int i, int j) |
| | Exclude the range \(\{i,\dots,j\}\) from the least upper bound.
|
| ModEvent | intersect (Space &home, int n) |
| | Exclude everything but n from the least upper bound.
|
| ModEvent | intersect (Space &home, int i, int j) |
| | Exclude everything but the range \(\{i,\dots,j\}\) from the least upper bound.
|
| ModEvent | cardMin (Space &home, unsigned int n) |
| | Restrict cardinality to be at least n.
|
| ModEvent | cardMax (Space &home, unsigned int n) |
| | Restrict cardinality to be at most n.
|
|
| | SetVarImpBase (void) |
| | Constructor for creating static instance of variable.
|
| | SetVarImpBase (Gecode::Space &home) |
| | Constructor for creating variable.
|
| void | subscribe (Gecode::Space &home, Gecode::Propagator &p, Gecode::PropCond pc, bool assigned, bool schedule) |
| | Subscribe propagator p with propagation condition pc.
|
| void | subscribe (Gecode::Space &home, Gecode::Advisor &a, bool assigned, bool failed) |
| | Subscribe advisor a if assigned is false.
|
| 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 information d.
|
| void | reschedule (Gecode::Space &home, Gecode::Propagator &p, Gecode::PropCond pc, bool assigned) |
| | Re-schedule propagator p.
|
| | VarImp (Space &home) |
| | Creation.
|
| void | subscribe (Space &home, Propagator &p, PropCond pc, bool assigned, ModEvent me, bool schedule) |
| | Subscribe propagator p with propagation condition pc.
|
| unsigned int | degree (void) const |
| | Return degree (number of subscribed propagators and advisors).
|
| double | afc (void) const |
| | Return accumulated failure count (plus degree).
|
| bool | copied (void) const |
| | Is variable already copied.
|
| VarImp * | forward (void) const |
| | Use forward pointer if variable already copied.
|
| unsigned int | bits (void) const |
| | Provide access to free bits.
|
| static void | schedule (Gecode::Space &home, Gecode::Propagator &p, Gecode::ModEvent me) |
| | Schedule propagator p.
|
| static void | schedule (Space &home, Propagator &p, ModEvent me, bool force=false) |
| | Schedule propagator p with modification event me.
|
| static void | reschedule (Space &home, Propagator &p, PropCond pc, bool assigned, ModEvent me) |
| | Schedule propagator p.
|
| static ModEvent | me (const ModEventDelta &med) |
| | Project modification event for this variable type from med.
|
| static ModEventDelta | med (ModEvent me) |
| | Translate modification event me into modification event delta.
|
| static ModEvent | me_combine (ModEvent me1, ModEvent me2) |
| | Combine modifications events me1 and me2.
|
| static ModEvent | modevent (const Delta &d) |
| | Return modification event.
|
| static void * | operator new (size_t, Space &) |
| | Allocate memory from space.
|
| static void | operator delete (void *, Space &) |
| | Return memory to space.
|
| ActorLink ** | base |
| | Subscribed actors.
|
| VarImp< Gecode::Set::SetVarImpConf > * | fwd |
| | Forwarding pointer.
|
| unsigned int | idx [pc_max+1] |
| | Indices of subscribed actors.
|
| VarImp< Gecode::Set::SetVarImpConf > * | next |
| | During cloning, points to the next copied variable.
|
Finite integer set variable implementation.
Definition at line 430 of file var-imp.hpp.
| Gecode::Set::SetVarImp::SetVarImp |
( |
Space & | home, |
|
|
int | glbMin, |
|
|
int | glbMax, |
|
|
int | lubMin, |
|
|
int | lubMax, |
|
|
unsigned int | cardMin = 0, |
|
|
unsigned int | cardMax = Limits::card ) |
|
inline |
Initialize with given bounds and cardinality.
Creates a set variable \(s\) with \(\mathit{glb}(s)=\{\mathit{glbMin},\dots,\mathit{glbMax}\}\), \(\mathit{lub}(s)=\{\mathit{lubMin},\dots,\mathit{lubMax}\}\), and \(\mathit{cardMin}\leq |s|\leq\mathit{cardMax}\)
Definition at line 55 of file set.hpp.
| Gecode::Set::SetVarImp::SetVarImp |
( |
Space & | home, |
|
|
const IntSet & | glbD, |
|
|
int | lubMin, |
|
|
int | lubMax, |
|
|
unsigned int | cardMin, |
|
|
unsigned int | cardMax ) |
|
inline |
Initialize with given bounds and cardinality.
Creates a set variable \(s\) with \(\mathit{glb}(s)=\mathit{glbD}\), \(\mathit{lub}(s)=\{\mathit{lubMin},\dots,\mathit{lubMax}\}\), and \(\mathit{cardMin}\leq |s|\leq\mathit{cardMax}\)
Definition at line 64 of file set.hpp.
| Gecode::Set::SetVarImp::SetVarImp |
( |
Space & | home, |
|
|
int | glbMin, |
|
|
int | glbMax, |
|
|
const IntSet & | lubD, |
|
|
unsigned int | cardMin, |
|
|
unsigned int | cardMax ) |
|
inline |
Initialize with given bounds and cardinality.
Creates a set variable \(s\) with \(\mathit{glb}(s)=\{\mathit{glbMin},\dots,\mathit{glbMax}\}\), \(\mathit{lub}(s)=\mathit{lubD}\), and \(\mathit{cardMin}\leq |s|\leq\mathit{cardMax}\)
Definition at line 74 of file set.hpp.