Generated on Mon Aug 25 11:35:49 2008 for Gecode by doxygen 1.5.6

Gecode::CpltSet::CpltSetView Class Reference
[CpltSet views]

Inherits Gecode::VarViewBase< Gecode::CpltSet::CpltSetVarImp >.

List of all members.


Detailed Description

CpltSet view for CpltSet variables

Definition at line 55 of file view.icc.


Constructors and initialization

 CpltSetView (void)
 Default constructor.
 CpltSetView (const CpltSetVar &x)
 Initialize from set variable x.
 CpltSetView (CpltSetVarImp *x)
 Initialize from set variable x.

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 n-th smallest element of the least upper bound.
int lubMaxN (int n) const
 Return the n-th 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.

Bdd information

int initialLubMin (void) const
 Return the initial minimum of the least upper bound.
int initialLubMax (void) const
 Return the initial maximum of the least upper bound.
unsigned int tableWidth (void) const
 Return the number of bdd variables allocated for this variable (initialLubMax-initialLubMin).
unsigned int offset (void) const
 Return the offset in the global bdd table where the variable's domain starts.
bdd element (int i) const
 Return bdd for the i -th element of this variable (counting from initialLubMin).
bdd elementNeg (int i) const
 Return negated bdd for the i -th element of this variable (counting from initialLubMin).
bdd dom (void) const
 Return the bdd representing the current domain.

Domain update by value

ModEvent cardinality (Space *home, int l, int u)
 Restrict cardinality to be greater than or equal to l and to be less than or equal to u.
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)
 Include all elements in range $[a..b]$ in greatest lower bound.
ModEvent include (Space *home, int i)
 Include elements i in greatest lower bound.
ModEvent exclude (Space *home, int i, int j)
 Exclude all elements in range $[a..b]$ from least upper bound.
ModEvent exclude (Space *home, int i)
 Exclude element i from least upper bound.
ModEvent nq (Space *home, int v)
 Restrict domain values to be different from singleton set $ \{v\} $.
ModEvent nq (Space *home, int a, int b)
 Restrict domain values to be different from set $ [a,b] $.
ModEvent eq (Space *home, int v)
 Restrict domain to be equal to the singleton set $ \{v\} $.
ModEvent eq (Space *home, int a, int b)
 Restrict domain to be equal to the set $ [a,b] $.
ModEvent intersect (Space *home, int i, int j)
 Restrict least upper bound to contain at most all elements in the range $ [a,b] $.
ModEvent intersect (Space *home, int i)
 Restrict least upper bound to contain at most the element i.
ModEvent intersect (Space *home, bdd &d)
 Restrict domain values to be a solution to the logical formula described by the bdd d.

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 set described by range list i in greatest lower bound.
template<class I>
ModEvent intersectI (Space *home, I &iter)
 Intersect least upper bound with range sequence described by i.
template<class I>
ModEvent eqI (Space *home, I &i)
 Restrict domain to be equal to the set described by the range sequence i.
template<class I>
ModEvent nqI (Space *home, I &i)
 Restrict domain values to be different from set described by the range sequence i.

Cloning

void update (Space *home, bool share, CpltSetView &x)
 Update this view to be a clone of view x.

Reflection

Reflection::Argspec (const Space *home, Reflection::VarMap &m) const
 Return specification for this view, using variable map m.
static Support::Symbol type (void)
 Return specification for this view, using variable map m.

Delta information for advisors

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

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &os, const CpltSetView &x)
 Print set variable view.

Constructor & Destructor Documentation

Gecode::CpltSet::CpltSetView::CpltSetView ( void   )  [inline]

Default constructor.

Definition at line 47 of file cpltset.icc.

Gecode::CpltSet::CpltSetView::CpltSetView ( const CpltSetVar x  )  [inline]

Initialize from set variable x.

Definition at line 50 of file cpltset.icc.

Gecode::CpltSet::CpltSetView::CpltSetView ( CpltSetVarImp x  ) 

Initialize from set variable x.


Member Function Documentation

unsigned int Gecode::CpltSet::CpltSetView::cardMin ( void   )  const [inline]

Return minimum cardinality.

Definition at line 69 of file cpltset.icc.

unsigned int Gecode::CpltSet::CpltSetView::cardMax ( void   )  const [inline]

Return maximum cardinality.

Definition at line 72 of file cpltset.icc.

int Gecode::CpltSet::CpltSetView::lubMin ( void   )  const [inline]

Return minimum of the least upper bound.

Definition at line 75 of file cpltset.icc.

int Gecode::CpltSet::CpltSetView::lubMax ( void   )  const [inline]

Return maximum of the least upper bound.

Definition at line 78 of file cpltset.icc.

int Gecode::CpltSet::CpltSetView::lubMinN ( int  n  )  const [inline]

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

Definition at line 81 of file cpltset.icc.

int Gecode::CpltSet::CpltSetView::lubMaxN ( int  n  )  const [inline]

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

Definition at line 84 of file cpltset.icc.

int Gecode::CpltSet::CpltSetView::glbMin ( void   )  const [inline]

Return minimum of the greatest lower bound.

Definition at line 87 of file cpltset.icc.

int Gecode::CpltSet::CpltSetView::glbMax ( void   )  const [inline]

Return maximum of the greatest lower bound.

Definition at line 90 of file cpltset.icc.

unsigned int Gecode::CpltSet::CpltSetView::glbSize ( void   )  const [inline]

Return the number of elements in the greatest lower bound.

Definition at line 60 of file cpltset.icc.

unsigned int Gecode::CpltSet::CpltSetView::lubSize ( void   )  const [inline]

Return the number of elements in the least upper bound.

Definition at line 63 of file cpltset.icc.

unsigned int Gecode::CpltSet::CpltSetView::unknownSize ( void   )  const [inline]

Return the number of unknown elements.

Definition at line 66 of file cpltset.icc.

bool Gecode::CpltSet::CpltSetView::assigned ( void   )  const [inline]

Test whether view is assigned.

Definition at line 128 of file cpltset.icc.

bool Gecode::CpltSet::CpltSetView::contains ( int  i  )  const [inline]

Test whether i is in the greatest lower bound.

Definition at line 131 of file cpltset.icc.

bool Gecode::CpltSet::CpltSetView::notContains ( int  i  )  const [inline]

Test whether i is not in the least upper bound.

Definition at line 134 of file cpltset.icc.

int Gecode::CpltSet::CpltSetView::initialLubMin ( void   )  const [inline]

Return the initial minimum of the least upper bound.

Definition at line 113 of file cpltset.icc.

int Gecode::CpltSet::CpltSetView::initialLubMax ( void   )  const [inline]

Return the initial maximum of the least upper bound.

Definition at line 116 of file cpltset.icc.

unsigned int Gecode::CpltSet::CpltSetView::tableWidth ( void   )  const [inline]

Return the number of bdd variables allocated for this variable (initialLubMax-initialLubMin).

Definition at line 104 of file cpltset.icc.

unsigned int Gecode::CpltSet::CpltSetView::offset ( void   )  const [inline]

Return the offset in the global bdd table where the variable's domain starts.

Definition at line 101 of file cpltset.icc.

bdd Gecode::CpltSet::CpltSetView::element ( int  i  )  const [inline]

Return bdd for the i -th element of this variable (counting from initialLubMin).

Definition at line 107 of file cpltset.icc.

bdd Gecode::CpltSet::CpltSetView::elementNeg ( int  i  )  const [inline]

Return negated bdd for the i -th element of this variable (counting from initialLubMin).

Definition at line 110 of file cpltset.icc.

bdd Gecode::CpltSet::CpltSetView::dom ( void   )  const [inline]

Return the bdd representing the current domain.

Definition at line 119 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::cardinality ( Space home,
int  l,
int  u 
) [inline]

Restrict cardinality to be greater than or equal to l and to be less than or equal to u.

Definition at line 142 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::cardMin ( Space home,
unsigned int  m 
) [inline]

Restrict cardinality to be greater than or equal to m.

Definition at line 147 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::cardMax ( Space home,
unsigned int  m 
) [inline]

Restrict cardinality to be less than or equal to m.

Definition at line 152 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::include ( Space home,
int  i,
int  j 
) [inline]

Include all elements in range $[a..b]$ in greatest lower bound.

Definition at line 157 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::include ( Space home,
int  i 
) [inline]

Include elements i in greatest lower bound.

Definition at line 162 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::exclude ( Space home,
int  i,
int  j 
) [inline]

Exclude all elements in range $[a..b]$ from least upper bound.

Definition at line 168 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::exclude ( Space home,
int  i 
) [inline]

Exclude element i from least upper bound.

Definition at line 173 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::nq ( Space home,
int  v 
) [inline]

Restrict domain values to be different from singleton set $ \{v\} $.

Definition at line 192 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::nq ( Space home,
int  a,
int  b 
) [inline]

Restrict domain values to be different from set $ [a,b] $.

Definition at line 195 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::eq ( Space home,
int  v 
) [inline]

Restrict domain to be equal to the singleton set $ \{v\} $.

Definition at line 202 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::eq ( Space home,
int  a,
int  b 
) [inline]

Restrict domain to be equal to the set $ [a,b] $.

Definition at line 205 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::intersect ( Space home,
int  i,
int  j 
) [inline]

Restrict least upper bound to contain at most all elements in the range $ [a,b] $.

Definition at line 179 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::intersect ( Space home,
int  i 
) [inline]

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

Definition at line 184 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::intersect ( Space home,
bdd &  d 
) [inline]

Restrict domain values to be a solution to the logical formula described by the bdd d.

Definition at line 212 of file cpltset.icc.

template<class I>
ModEvent Gecode::CpltSet::CpltSetView::excludeI ( Space home,
I &  i 
) [inline]

Remove range sequence described by i from least upper bound.

Definition at line 176 of file cpltset.icc.

template<class I>
ModEvent Gecode::CpltSet::CpltSetView::includeI ( Space home,
I &  i 
) [inline]

Include set described by range list i in greatest lower bound.

Definition at line 165 of file cpltset.icc.

template<class I>
ModEvent Gecode::CpltSet::CpltSetView::intersectI ( Space home,
I &  iter 
) [inline]

Intersect least upper bound with range sequence described by i.

Definition at line 187 of file cpltset.icc.

template<class I>
ModEvent Gecode::CpltSet::CpltSetView::eqI ( Space home,
I &  i 
) [inline]

Restrict domain to be equal to the set described by the range sequence i.

Definition at line 209 of file cpltset.icc.

template<class I>
ModEvent Gecode::CpltSet::CpltSetView::nqI ( Space home,
I &  i 
) [inline]

Restrict domain values to be different from set described by the range sequence i.

Definition at line 199 of file cpltset.icc.

void Gecode::CpltSet::CpltSetView::update ( Space home,
bool  share,
CpltSetView x 
) [inline]

Update this view to be a clone of view x.

Definition at line 222 of file cpltset.icc.

Reflection::Arg * Gecode::CpltSet::CpltSetView::spec ( const Space home,
Reflection::VarMap m 
) const [inline]

Return specification for this view, using variable map m.

Definition at line 231 of file cpltset.icc.

Support::Symbol Gecode::CpltSet::CpltSetView::type ( void   )  [inline, static]

Return specification for this view, using variable map m.

Definition at line 235 of file cpltset.icc.

ModEvent Gecode::CpltSet::CpltSetView::modevent ( const Delta d  )  [inline, static]

Return modification event.

Definition at line 245 of file cpltset.icc.


Friends And Related Function Documentation

GECODE_CPLTSET_EXPORT std::ostream & operator<< ( std::ostream &  os,
const CpltSetView x 
) [related]

Print set variable view.

Definition at line 140 of file print.cc.


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