Gecode::Set::UniverseView Class Reference
[Set views]
Inherits Gecode::ConstantViewBase.
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 488 of file view.icc.
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 (int n) const 
Return nth smallest element of the least upper bound.  
int  lubMaxN (int n) const 
Return the nth largest 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  assigned (void) const 
Test whether view is assigned.  
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.  
Dependencies  
void  subscribe (Space *home, Propagator *p, PropCond pc, bool process=true) 
Subscribe propagator p with propagation condition pc to variable.  
void  cancel (Space *home, Propagator *p, PropCond pc) 
Cancel subscription of propagator p with propagation condition pc to view.  
Cloning  
void  update (Space *home, bool share, UniverseView &x) 
Update this view to be a clone of view x.  
Propagator modification events  
static ModEvent  pme (const Propagator *p) 
Return modification event of propagator p for view.  
static PropModEvent  pme (ModEvent) 
Translate modification event me to propagator modification event for view.  
View comparison  
bool  same (const Set::UniverseView &x, const Set::UniverseView &y) 
Test whether views x and y are the same.  
bool  before (const Set::UniverseView &x, const Set::UniverseView &y) 
Test whether view x comes before y (arbitrary order).  
Related Functions  
(Note that these are not member functions.)  
std::ostream &  operator<< (std::ostream &, const Gecode::Set::UniverseView &) 
Print universe set view. 
Constructor & Destructor Documentation

Default constructor.

Member Function Documentation

Return minimum cardinality.


Return maximum cardinality.


Return minimum of the least upper bound.


Return maximum of the least upper bound.


Return nth smallest element of the least upper bound.


Return the nth largest element of the least upper bound.


Return minimum of the greatest lower bound.


Return maximum of the greatest lower bound.


Return the number of elements in the greatest lower bound.


Return the number of elements in the least upper bound.


Return the number of unknown elements.


Test whether view is assigned.


Test whether i is in the greatest lower bound.


Test whether i is not in the least upper bound.


Restrict cardinality to be greater than or equal to m.


Restrict cardinality to be less than or equal to m.


Update greatest lower bound to include all elements between and including i and j.


Restrict least upper bound to not contain all elements between and including i and j.


Update greatest lower bound to contain i.


Restrict least upper bound to not contain i.


Update least upper bound to contain at most all elements between and including i and j.


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


Remove range sequence described by i from least upper bound.


Include range sequence described by i in greatest lower bound.


Intersect least upper bound with range sequence described by i.


Return modification event of propagator p for view.


Translate modification event me to propagator modification event for view.


Subscribe propagator p with propagation condition pc to variable. In case process is false, the propagator is just subscribed but not processed for execution (this must be used when creating subscriptions during propagation). 

Cancel subscription of propagator p with propagation condition pc to view.


Update this view to be a clone of view x.

Friends And Related Function Documentation

Test whether views x and y are the same.


Test whether view x comes before y (arbitrary order).


Print universe set view.

The documentation for this class was generated from the following files:
 gecode/set/view.icc (Revision: 3559)
 gecode/set/view/const.icc (Revision: 3559)