Set view for set variables
More...
#include <view.hpp>
|
(Note that these are not member symbols.)
|
template<class Char, class Traits> |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const SetView &x) |
| Print set variable view.
|
|
unsigned int | cardMin (void) const |
| Return minimum cardinality.
|
unsigned int | cardMax (void) const |
| Return maximum cardinality.
|
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 of 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 number of elements in the greatest lower bound.
|
unsigned int | lubSize (void) const |
| Return the number of elements in the least upper bound.
|
unsigned int | unknownSize (void) const |
| Return the number of unknown elements.
|
|
bool | contains (int i) const |
| Test whether i is in the greatest lower bound.
|
bool | notContains (int i) const |
| Test whether i is not in the least upper bound.
|
|
ModEvent | cardMin (Space &home, unsigned int m) |
| Restrict cardinality to be greater than or equal to m.
|
ModEvent | cardMax (Space &home, unsigned int m) |
| Restrict cardinality to be less than or equal to m.
|
ModEvent | include (Space &home, int i, int j) |
| Update greatest lower bound to include all elements between and including i and j.
|
ModEvent | exclude (Space &home, int i, int j) |
| Restrict least upper bound to not contain all elements between and including i and j.
|
ModEvent | include (Space &home, int i) |
| Update greatest lower bound to contain i.
|
ModEvent | exclude (Space &home, int i) |
| Restrict least upper bound to not contain i.
|
ModEvent | intersect (Space &home, int i, int j) |
| Update least upper bound to contain at most all elements between and including i and j.
|
ModEvent | intersect (Space &home, int i) |
| Update least upper bound to contain at most the element i.
|
|
template<class I> |
ModEvent | excludeI (Space &home, I &i) |
| Remove range sequence described by i from least upper bound.
|
template<class I> |
ModEvent | includeI (Space &home, I &i) |
| Include range sequence described by i in greatest lower bound.
|
template<class I> |
ModEvent | intersectI (Space &home, I &iter) |
| Intersect least upper bound with range sequence described by i.
|
|
int | glbMin (const Delta &d) const |
| Return minimum value just pruned from glb.
|
int | glbMax (const Delta &d) const |
| Return maximum value just pruned from glb.
|
bool | glbAny (const Delta &d) const |
| Test whether arbitrary values got pruned from glb.
|
int | lubMin (const Delta &d) const |
| Return minimum value just pruned from lub.
|
int | lubMax (const Delta &d) const |
| Return maximum value just pruned from lub.
|
bool | lubAny (const Delta &d) const |
| Test whether arbitrary values got pruned from lub.
|
static ModEvent | modevent (const Delta &d) |
| Return modification event.
|
|
typedef SetVar | VarType |
| The variable type corresponding to the view.
|
typedef SetVar::VarImpType | VarImpType |
| The variable implementation type corresponding to the view.
|
unsigned int | degree (void) const |
| Return degree (number of subscribed propagators and advisors)
|
double | afc (void) const |
| Return accumulated failure count.
|
bool | assigned (void) const |
| Test whether view is assigned.
|
void | subscribe (Space &home, Propagator &p, PropCond pc, bool schedule=true) |
| Subscribe propagator p with propagation condition pc to view.
|
void | cancel (Space &home, Propagator &p, PropCond pc) |
| Cancel subscription of propagator p with propagation condition pc to view.
|
void | reschedule (Space &home, Propagator &p, PropCond pc) |
| Re-schedule propagator p with propagation condition pc.
|
void | update (Space &home, VarImpView< SetVar > &y) |
| Update this view to be a clone of view y.
|
bool | operator< (const VarImpView &y) const |
| Whether this view comes before view y (arbitray order)
|
static bool | varderived (void) |
| Return whether this view is derived from a VarImpView.
|
static void | schedule (Space &home, Propagator &p, ModEvent me) |
| Schedule propagator p with modification event me.
|
static ModEvent | me (const ModEventDelta &med) |
| Return modification event for view type in med.
|
static ModEventDelta | med (ModEvent me) |
| Translate modification event me to modification event delta for view.
|
static ModEvent | modevent (const Delta &d) |
| Return modification event.
|
| VarImpView (void) |
| Default constructor.
|
void | varimp (VarImpType *y) |
| Set variable implementation to y.
|
VarImpType * | x |
| Pointer to variable implementation.
|
Set view for set variables
Definition at line 56 of file view.hpp.
◆ SetView() [1/3]
Gecode::Set::SetView::SetView |
( |
void | | ) |
|
|
inline |
Default constructor.
Definition at line 48 of file set.hpp.
◆ SetView() [2/3]
Gecode::Set::SetView::SetView |
( |
const SetVar & | y | ) |
|
|
inline |
Initialize from set variable y.
Definition at line 50 of file set.hpp.
◆ SetView() [3/3]
Gecode::Set::SetView::SetView |
( |
SetVarImp * | y | ) |
|
|
inline |
Initialize from set variable implementation y.
Definition at line 53 of file set.hpp.
◆ cardMin() [1/2]
unsigned int Gecode::Set::SetView::cardMin |
( |
void | | ) |
const |
|
inline |
Return minimum cardinality.
Definition at line 82 of file set.hpp.
◆ cardMax() [1/2]
unsigned int Gecode::Set::SetView::cardMax |
( |
void | | ) |
const |
|
inline |
Return maximum cardinality.
Definition at line 86 of file set.hpp.
◆ lubMin() [1/2]
int Gecode::Set::SetView::lubMin |
( |
void | | ) |
const |
|
inline |
Return minimum of the least upper bound.
Definition at line 90 of file set.hpp.
◆ lubMax() [1/2]
int Gecode::Set::SetView::lubMax |
( |
void | | ) |
const |
|
inline |
Return maximum of the least upper bound.
Definition at line 94 of file set.hpp.
◆ lubMinN()
int Gecode::Set::SetView::lubMinN |
( |
unsigned int | n | ) |
const |
|
inline |
Return n-th smallest element of the least upper bound.
Definition at line 98 of file set.hpp.
◆ glbMin() [1/2]
int Gecode::Set::SetView::glbMin |
( |
void | | ) |
const |
|
inline |
Return minimum of the greatest lower bound.
Definition at line 102 of file set.hpp.
◆ glbMax() [1/2]
int Gecode::Set::SetView::glbMax |
( |
void | | ) |
const |
|
inline |
Return maximum of the greatest lower bound.
Definition at line 106 of file set.hpp.
◆ glbSize()
unsigned int Gecode::Set::SetView::glbSize |
( |
void | | ) |
const |
|
inline |
Return the number of elements in the greatest lower bound.
Definition at line 62 of file set.hpp.
◆ lubSize()
unsigned int Gecode::Set::SetView::lubSize |
( |
void | | ) |
const |
|
inline |
Return the number of elements in the least upper bound.
Definition at line 66 of file set.hpp.
◆ unknownSize()
unsigned int Gecode::Set::SetView::unknownSize |
( |
void | | ) |
const |
|
inline |
Return the number of unknown elements.
Definition at line 70 of file set.hpp.
◆ contains()
bool Gecode::Set::SetView::contains |
( |
int | i | ) |
const |
|
inline |
Test whether i is in the greatest lower bound.
Definition at line 74 of file set.hpp.
◆ notContains()
bool Gecode::Set::SetView::notContains |
( |
int | i | ) |
const |
|
inline |
Test whether i is not in the least upper bound.
Definition at line 78 of file set.hpp.
◆ cardMin() [2/2]
ModEvent Gecode::Set::SetView::cardMin |
( |
Space & | home, |
|
|
unsigned int | m ) |
|
inline |
Restrict cardinality to be greater than or equal to m.
Definition at line 116 of file set.hpp.
◆ cardMax() [2/2]
ModEvent Gecode::Set::SetView::cardMax |
( |
Space & | home, |
|
|
unsigned int | m ) |
|
inline |
Restrict cardinality to be less than or equal to m.
Definition at line 121 of file set.hpp.
◆ include() [1/2]
ModEvent Gecode::Set::SetView::include |
( |
Space & | home, |
|
|
int | i, |
|
|
int | j ) |
|
inline |
Update greatest lower bound to include all elements between and including i and j.
Definition at line 126 of file set.hpp.
◆ exclude() [1/2]
ModEvent Gecode::Set::SetView::exclude |
( |
Space & | home, |
|
|
int | i, |
|
|
int | j ) |
|
inline |
Restrict least upper bound to not contain all elements between and including i and j.
Definition at line 156 of file set.hpp.
◆ include() [2/2]
Update greatest lower bound to contain i.
Definition at line 131 of file set.hpp.
◆ exclude() [2/2]
Restrict least upper bound to not contain i.
Definition at line 136 of file set.hpp.
◆ intersect() [1/2]
ModEvent Gecode::Set::SetView::intersect |
( |
Space & | home, |
|
|
int | i, |
|
|
int | j ) |
|
inline |
Update least upper bound to contain at most all elements between and including i and j.
Definition at line 141 of file set.hpp.
◆ intersect() [2/2]
Update least upper bound to contain at most the element i.
Definition at line 146 of file set.hpp.
◆ excludeI()
Remove range sequence described by i from least upper bound.
Definition at line 160 of file set.hpp.
◆ includeI()
Include range sequence described by i in greatest lower bound.
Definition at line 151 of file set.hpp.
◆ intersectI()
template<class I>
ModEvent Gecode::Set::SetView::intersectI |
( |
Space & | home, |
|
|
I & | iter ) |
Intersect least upper bound with range sequence described by i.
Definition at line 164 of file set.hpp.
◆ modevent()
Return modification event.
Definition at line 175 of file set.hpp.
◆ glbMin() [2/2]
int Gecode::Set::SetView::glbMin |
( |
const Delta & | d | ) |
const |
|
inline |
Return minimum value just pruned from glb.
Definition at line 180 of file set.hpp.
◆ glbMax() [2/2]
int Gecode::Set::SetView::glbMax |
( |
const Delta & | d | ) |
const |
|
inline |
Return maximum value just pruned from glb.
Definition at line 184 of file set.hpp.
◆ glbAny()
bool Gecode::Set::SetView::glbAny |
( |
const Delta & | d | ) |
const |
|
inline |
Test whether arbitrary values got pruned from glb.
Definition at line 188 of file set.hpp.
◆ lubMin() [2/2]
int Gecode::Set::SetView::lubMin |
( |
const Delta & | d | ) |
const |
|
inline |
Return minimum value just pruned from lub.
Definition at line 193 of file set.hpp.
◆ lubMax() [2/2]
int Gecode::Set::SetView::lubMax |
( |
const Delta & | d | ) |
const |
|
inline |
Return maximum value just pruned from lub.
Definition at line 197 of file set.hpp.
◆ lubAny()
bool Gecode::Set::SetView::lubAny |
( |
const Delta & | d | ) |
const |
|
inline |
Test whether arbitrary values got pruned from lub.
Definition at line 201 of file set.hpp.
◆ operator<<()
template<class Char, class Traits>
std::basic_ostream< Char, Traits > & operator<< |
( |
std::basic_ostream< Char, Traits > & | os, |
|
|
const SetView & | x ) |
|
related |
Print set variable view.
Definition at line 63 of file print.hpp.
The documentation for this class was generated from the following files: