Gecode::Set::UniverseView Class Reference
Functionality by programming task » Programming actors » Programming set actors » Set views

Constant view for the universe. More...

`#include <view.hpp>`

## Constructors and initialization

| UniverseView (void)
| Default constructor.

## Value access

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.

## Domain tests

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.

## Domain update by value

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.

## Domain update by range iterator

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.

## Delta information for advisors

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.

## View comparison

template<class Char, class Traits>
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const UniverseView &x)
| Print universe set view.
bool | operator== (const UniverseView &x, const UniverseView &y)
| Test whether views x and y are the same.
bool | operator!= (const UniverseView &x, const UniverseView &y)
| Test whether views x and y are the not same.

## Additional Inherited Members

Public Types inherited from Gecode::ConstView< SetView >
typedef SetView::VarImpType | VarImpType
| The variable implementation type corresponding to the constant view.
typedef SetView::VarType | VarType
| The variable type corresponding to the constant view.
unsigned int | degree (void) const
| Return degree (number of subscribed propagators and advisors).
double | afc (void) const
| Return accumulated failure count.
VarImpType * | varimp (void) const
| Return dummy variable implementation of view.
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, ConstView &y)
| Update this view to be a clone of view y.
bool | operator< (const ConstView &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.

## Detailed Description

Constant view for the universe.

A constant set view for the universe provides operations such that behaves like the universe.

Definition at line 464 of file view.hpp.

## Constructor & Destructor Documentation

## UniverseView()

Gecode::Set::UniverseView::UniverseView | ( | void |  | ) |

inline

Default constructor.

Definition at line 401 of file const.hpp.

## Member Function Documentation

## cardMin() [1/2]

unsigned int Gecode::Set::UniverseView::cardMin | ( | void |  | ) | const

inline

Return minimum cardinality.

Definition at line 419 of file const.hpp.

## cardMax() [1/2]

unsigned int Gecode::Set::UniverseView::cardMax | ( | void |  | ) | const

inline

Return maximum cardinality.

Definition at line 422 of file const.hpp.

## lubMin() [1/2]

int Gecode::Set::UniverseView::lubMin | ( | void |  | ) | const

inline

Return minimum of the least upper bound.

Definition at line 425 of file const.hpp.

## lubMax() [1/2]

int Gecode::Set::UniverseView::lubMax | ( | void |  | ) | const

inline

Return maximum of the least upper bound.

Definition at line 428 of file const.hpp.

## lubMinN()

int Gecode::Set::UniverseView::lubMinN | ( | unsigned int | n | ) | const

Return n-th smallest element of the least upper bound.

## glbMin() [1/2]

int Gecode::Set::UniverseView::glbMin | ( | void |  | ) | const

inline

Return minimum of the greatest lower bound.

Definition at line 431 of file const.hpp.

## glbMax() [1/2]

int Gecode::Set::UniverseView::glbMax | ( | void |  | ) | const

inline

Return maximum of the greatest lower bound.

Definition at line 434 of file const.hpp.

## glbSize()

unsigned int Gecode::Set::UniverseView::glbSize | ( | void |  | ) | const

inline

Return the number of elements in the greatest lower bound.

Definition at line 404 of file const.hpp.

## lubSize()

unsigned int Gecode::Set::UniverseView::lubSize | ( | void |  | ) | const

inline

Return the number of elements in the least upper bound.

Definition at line 407 of file const.hpp.

## unknownSize()

unsigned int Gecode::Set::UniverseView::unknownSize | ( | void |  | ) | const

inline

Return the number of unknown elements.

Definition at line 410 of file const.hpp.

## contains()

bool Gecode::Set::UniverseView::contains | ( | int | i | ) | const

inline

Test whether i is in the greatest lower bound.

Definition at line 413 of file const.hpp.

## notContains()

bool Gecode::Set::UniverseView::notContains | ( | int | i | ) | const

inline

Test whether i is not in the least upper bound.

Definition at line 416 of file const.hpp.

## cardMin() [2/2]

ModEvent Gecode::Set::UniverseView::cardMin | ( | Space & | home,
|  | unsigned int | m )

inline

Restrict cardinality to be greater than or equal to m.

Definition at line 437 of file const.hpp.

## cardMax() [2/2]

ModEvent Gecode::Set::UniverseView::cardMax | ( | Space & | home,
|  | unsigned int | m )

inline

Restrict cardinality to be less than or equal to m.

Definition at line 442 of file const.hpp.

## include() [1/2]

ModEvent Gecode::Set::UniverseView::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 459 of file const.hpp.

## exclude() [1/2]

ModEvent Gecode::Set::UniverseView::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 462 of file const.hpp.

## include() [2/2]

ModEvent Gecode::Set::UniverseView::include | ( | Space & | home,
|  | int | i )

inline

Update greatest lower bound to contain i.

Definition at line 448 of file const.hpp.

## exclude() [2/2]

ModEvent Gecode::Set::UniverseView::exclude | ( | Space & | home,
|  | int | i )

inline

Restrict least upper bound to not contain i.

Definition at line 453 of file const.hpp.

## intersect() [1/2]

ModEvent Gecode::Set::UniverseView::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 475 of file const.hpp.

## intersect() [2/2]

ModEvent Gecode::Set::UniverseView::intersect | ( | Space & | home,
|  | int | i )

inline

Update least upper bound to contain at most the element i.

Definition at line 456 of file const.hpp.

## excludeI()

template<class I>

ModEvent Gecode::Set::UniverseView::excludeI | ( | Space & | home,
|  | I & | i )

Remove range sequence described by i from least upper bound.

Definition at line 465 of file const.hpp.

## includeI()

template<class I>

ModEvent Gecode::Set::UniverseView::includeI | ( | Space & | home,
|  | I & | i )

inline

Include range sequence described by i in greatest lower bound.

Definition at line 470 of file const.hpp.

## intersectI()

template<class I>

ModEvent Gecode::Set::UniverseView::intersectI | ( | Space & | home,
|  | I & | iter )

inline

Intersect least upper bound with range sequence described by i.

Definition at line 481 of file const.hpp.

## glbMin() [2/2]

int Gecode::Set::UniverseView::glbMin | ( | const Delta & | d | ) | const

inline

Return minimum value just pruned from glb.

Definition at line 494 of file const.hpp.

## glbMax() [2/2]

int Gecode::Set::UniverseView::glbMax | ( | const Delta & | d | ) | const

inline

Return maximum value just pruned from glb.

Definition at line 500 of file const.hpp.

## glbAny()

bool Gecode::Set::UniverseView::glbAny | ( | const Delta & | d | ) | const

inline

Test whether arbitrary values got pruned from glb.

Definition at line 506 of file const.hpp.

## lubMin() [2/2]

int Gecode::Set::UniverseView::lubMin | ( | const Delta & | d | ) | const

inline

Return minimum value just pruned from lub.

Definition at line 512 of file const.hpp.

## lubMax() [2/2]

int Gecode::Set::UniverseView::lubMax | ( | const Delta & | d | ) | const

inline

Return maximum value just pruned from lub.

Definition at line 518 of file const.hpp.

## lubAny()

bool Gecode::Set::UniverseView::lubAny | ( | const Delta & | d | ) | const

inline

Test whether arbitrary values got pruned from lub.

Definition at line 524 of file const.hpp.

## Friends And Related Symbol Documentation

## operator<<()

template<class Char, class Traits>

std::basic_ostream< Char, Traits > & operator<< | ( | std::basic_ostream< Char, Traits > & | os,
|  | const UniverseView & | x )

related

Print universe set view.

Definition at line 63 of file print.hpp.

## operator==()

bool operator== | ( | const UniverseView & | x,
|  | const UniverseView & | y )

related

Test whether views x and y are the same.

Definition at line 732 of file const.hpp.

## operator!=()

bool operator!= | ( | const UniverseView & | x,
|  | const UniverseView & | y )

related

Test whether views x and y are the not same.

Definition at line 736 of file const.hpp.

The documentation for this class was generated from the following files:

- gecode/set/view.hpp
- gecode/set/view/const.hpp