Related Functions 
(Note that these are not member functions.)

template<class Char , class Traits > 
std::basic_ostream< Char,
Traits > &  operator<< (std::basic_ostream< Char, Traits > &os, const SetView &x) 
 Print set variable view.

Constructors and initialization 

 SetView (void) 
 Default constructor.

 SetView (const SetVar &y) 
 Initialize from set variable y.

 SetView (SetVarImp *y) 
 Initialize from set variable implementation y.

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

static ModEvent  modevent (const Delta &d) 
 Return modification event.
