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

Constant view. More...

`#include <view.hpp>`

## Related Symbols

(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 ConstSetView &x)
| Print constant set view.

## Constructors and initialization

| ConstSetView (void)
| Default constructor.
| ConstSetView (Space &home, const IntSet &s)
| Construct with s as the domain.

## 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.

## Cloning

void | update (Space &home, ConstSetView &y)
| Update this view to be a clone of view y.

## 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.

## Ordering

bool | operator< (const ConstSetView &y) const
| Whether this view comes before view y (arbitray order).

## View comparison

bool | operator== (const ConstSetView &x, const ConstSetView &y)
| Test whether views x and y are the same.
bool | operator!= (const ConstSetView &x, const ConstSetView &y)
| Test whether views x and y are not the 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.

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

Definition at line 186 of file view.hpp.

## Constructor & Destructor Documentation

## ConstSetView() [1/2]

Gecode::Set::ConstSetView::ConstSetView | ( | void |  | ) |

inline

Default constructor.

Definition at line 81 of file const.hpp.

## ConstSetView() [2/2]

Gecode::Set::ConstSetView::ConstSetView | ( | Space & | home,
|  | const IntSet & | s )

inline

Construct with s as the domain.

Definition at line 84 of file const.hpp.

## Member Function Documentation

## cardMin() [1/2]

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

inline

Return minimum cardinality.

Definition at line 127 of file const.hpp.

## cardMax() [1/2]

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

inline

Return maximum cardinality.

Definition at line 130 of file const.hpp.

## lubMin() [1/2]

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

inline

Return minimum of the least upper bound.

Definition at line 133 of file const.hpp.

## lubMax() [1/2]

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

inline

Return maximum of the least upper bound.

Definition at line 138 of file const.hpp.

## lubMinN()

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

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

## glbMin() [1/2]

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

inline

Return minimum of the greatest lower bound.

Definition at line 143 of file const.hpp.

## glbMax() [1/2]

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

inline

Return maximum of the greatest lower bound.

Definition at line 146 of file const.hpp.

## glbSize()

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

inline

Return the number of elements in the greatest lower bound.

Definition at line 102 of file const.hpp.

## lubSize()

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

inline

Return the number of elements in the least upper bound.

Definition at line 105 of file const.hpp.

## unknownSize()

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

inline

Return the number of unknown elements.

Definition at line 108 of file const.hpp.

## contains()

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

inline

Test whether i is in the greatest lower bound.

Definition at line 111 of file const.hpp.

## notContains()

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

inline

Test whether i is not in the least upper bound.

Definition at line 122 of file const.hpp.

## cardMin() [2/2]

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

inline

Restrict cardinality to be greater than or equal to m.

Definition at line 149 of file const.hpp.

## cardMax() [2/2]

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

inline

Restrict cardinality to be less than or equal to m.

Definition at line 154 of file const.hpp.

## include() [1/2]

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

## exclude() [1/2]

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

## include() [2/2]

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

inline

Update greatest lower bound to contain i.

Definition at line 159 of file const.hpp.

## exclude() [2/2]

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

inline

Restrict least upper bound to not contain i.

Definition at line 164 of file const.hpp.

## intersect() [1/2]

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

## intersect() [2/2]

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

inline

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

Definition at line 169 of file const.hpp.

## excludeI()

template<class I>

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

Remove range sequence described by i from least upper bound.

Definition at line 199 of file const.hpp.

## includeI()

template<class I>

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

Include range sequence described by i in greatest lower bound.

Definition at line 205 of file const.hpp.

## intersectI()

template<class I>

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

Intersect least upper bound with range sequence described by i.

Definition at line 211 of file const.hpp.

## update()

void Gecode::Set::ConstSetView::update | ( | Space & | home,
|  | ConstSetView & | y )

inline

Update this view to be a clone of view y.

Definition at line 217 of file const.hpp.

## glbMin() [2/2]

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

inline

Return minimum value just pruned from glb.

Definition at line 243 of file const.hpp.

## glbMax() [2/2]

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

inline

Return maximum value just pruned from glb.

Definition at line 248 of file const.hpp.

## glbAny()

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

inline

Test whether arbitrary values got pruned from glb.

Definition at line 253 of file const.hpp.

## lubMin() [2/2]

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

inline

Return minimum value just pruned from lub.

Definition at line 258 of file const.hpp.

## lubMax() [2/2]

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

inline

Return maximum value just pruned from lub.

Definition at line 263 of file const.hpp.

## lubAny()

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

inline

Test whether arbitrary values got pruned from lub.

Definition at line 268 of file const.hpp.

## operator<()

bool Gecode::Set::ConstSetView::operator< | ( | const ConstSetView & | y | ) | const

inline

Whether this view comes before view y (arbitray order).

Definition at line 679 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 ConstSetView & | x )

related

Print constant set view.

Definition at line 63 of file print.hpp.

## operator==()

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

related

Test whether views x and y are the same.

Definition at line 707 of file const.hpp.

## operator!=()

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

related

Test whether views x and y are not the same.

Definition at line 717 of file const.hpp.

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

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