Gecode::Set::SetVarImp Class Reference
[Other available functionality]
Inherits Gecode::Set::SetVarImpBase.
Detailed Description
Finite integer set variable implementation.
Definition at line 463 of file var.icc.
Constructors and initialization  
SetVarImp (Space *home)  
Initialize with empty lower and full upper bound.  
SetVarImp (Space *home, int glbMin, int glbMax, int lubMin, int lubMax, unsigned int cardMin=0, unsigned int cardMax=Limits::Set::card_max)  
Initialize with given bounds and cardinality.  
SetVarImp (Space *home, const IntSet &glbD, int lubMin, int lubMax, unsigned int cardMin, unsigned int cardMax)  
Initialize with given bounds and cardinality.  
SetVarImp (Space *home, int glbMin, int glbMax, const IntSet &lubD, unsigned int cardMin, unsigned int cardMax)  
Initialize with given bounds and cardinality.  
SetVarImp (Space *home, const IntSet &glbD, const IntSet &lubD, unsigned int cardMin, unsigned int cardMax)  
Initialize with given bounds and cardinality.  
Value access  
unsigned int  cardMin (void) const 
Return current cardinality minimum.  
unsigned int  cardMax (void) const 
Return current cardinality maximum.  
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 n th smallest element in the least upper bound.  
int  lubMaxN (int n) const 
Return n th largest element in 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 size of the greatest lower bound.  
unsigned int  lubSize (void) const 
Return the size of the least upper bound.  
Domain tests  
bool  assigned (void) const 
Test whether variable is assigned.  
bool  knownIn (int n) const 
Test whether n is contained in greatest lower bound.  
bool  knownOut (int) const 
Test whether n is not contained in least upper bound.  
Domain update by value  
ModEvent  include (Space *home, int n) 
Include n in the greatest lower bound.  
ModEvent  include (Space *home, int i, int j) 
Include the range in the greatest lower bound.  
ModEvent  exclude (Space *home, int n) 
Exclude n from the least upper bound.  
ModEvent  exclude (Space *home, int i, int j) 
Exclude the range from the least upper bound.  
ModEvent  intersect (Space *home, int n) 
Exclude everything but n from the least upper bound.  
ModEvent  intersect (Space *home, int i, int j) 
Exclude everything but the range from the least upper bound.  
ModEvent  cardMin (Space *home, unsigned int n) 
Restrict cardinality to be at least n.  
ModEvent  cardMax (Space *home, unsigned int n) 
Restrict cardinality to be at most n.  
Domain update by range iterator  
template<class I>  
ModEvent  includeI (Space *home, I &i) 
Include set described by i in the greatest lower bound.  
template<class I>  
ModEvent  excludeI (Space *home, I &i) 
Exclude set described by i from the least upper bound.  
template<class I>  
ModEvent  intersectI (Space *home, I &i) 
Exclude everything but set described by i from the least upper bound.  
Dependencies  
void  subscribe (Space *home, Propagator *p, PropCond pc, bool process=true) 
Subscribe propagator p with propagation condition pc to variable.  
Cloning  
SetVarImp *  copy (Space *home, bool share) 
Return copy of this variable.  
Protected Member Functions  
SetVarImp (Space *home, bool share, SetVarImp &x)  
Constructor for cloning x. 
Constructor & Destructor Documentation

Constructor for cloning x.


Initialize with empty lower and full upper bound.


Initialize with given bounds and cardinality. Creates a set variable with , , and 

Initialize with given bounds and cardinality. Creates a set variable with , , and 

Initialize with given bounds and cardinality. Creates a set variable with , , and 

Initialize with given bounds and cardinality. Creates a set variable with , , and 
Member Function Documentation

Return current cardinality minimum.


Return current cardinality maximum.


Return minimum of the least upper bound.


Return maximum of the least upper bound.


Return n th smallest element in the least upper bound.


Return n th largest element in the least upper bound.


Return minimum of the greatest lower bound.


Return maximum of the greatest lower bound.


Return the size of the greatest lower bound.


Return the size of the least upper bound.


Test whether variable is assigned.


Test whether n is contained in greatest lower bound.


Test whether n is not contained in least upper bound.


Include n in the greatest lower bound.


Include the range in the greatest lower bound.


Exclude n from the least upper bound.


Exclude the range from the least upper bound.


Exclude everything but n from the least upper bound.


Exclude everything but the range from the least upper bound.


Restrict cardinality to be at least n.


Restrict cardinality to be at most n.


Include set described by i in the greatest lower bound.


Exclude set described by i from the least upper bound.


Exclude everything but set described by i from the least upper bound.


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

Return copy of this variable.

The documentation for this class was generated from the following files:
 gecode/set/var.icc (Revision: 3568)
 gecode/set/var/imp.cc (Revision: 3568)
 gecode/set/var/imp.icc (Revision: 3568)