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

Gecode::Set::BndSet Class Reference

Inherited by Gecode::Set::GLBndSet, and Gecode::Set::LUBndSet.

List of all members.


Detailed Description

Sets of integers.

Definition at line 152 of file var-imp.icc.


Constructors and initialization

 BndSet (void)
 Default constructor. Creates an empty set.
 BndSet (Space *home, int i, int j)
 Initialize as the set $ \{i,\dots,j\}$.
 BndSet (Space *home, const IntSet &s)
 Initialize as the set represented by s.

Memory management

void dispose (Space *home)
 Free memory used by this set.

Value access

int min (void) const
 Return smallest element.
int max (void) const
 Return greatest element.
int minN (unsigned int n) const
 Return n -th smallest element.
unsigned int size (void) const
 Return size.

Tests

bool empty (void) const
 Test whether this set is empty.
bool in (int i) const
 Test whether i is an element of this set.

Update operations

void become (Space *home, const BndSet &s)
 Make this set equal to s.

Range list access for iteration

RangeListranges (void) const
 Return range list for iteration.

Cloning

void update (Space *home, BndSet &x)
 Update this set to be a clone of set x.

Public Member Functions

bool isConsistent (void) const
 Check whether internal invariants hold.

Static Public Attributes

static const int MAX_OF_EMPTY = Limits::min-1
 Returned by empty sets when asked for their maximum element.
static const int MIN_OF_EMPTY = Limits::max+1
 Returned by empty sets when asked for their minimum element.

Protected Member Functions

void fst (RangeList *r)
 Set first range to r.
void lst (RangeList *r)
 Set last range to r.
RangeListfst (void) const
 Return first range.
RangeListlst (void) const
 Return last range.
template<class I>
bool overwrite (Space *home, I &i)
 Overwrite the ranges with those represented by i.

Protected Attributes

unsigned int _size
 The size of this set.

Constructor & Destructor Documentation

Gecode::Set::BndSet::BndSet ( void   )  [inline]

Default constructor. Creates an empty set.

Definition at line 113 of file integerset.icc.

Gecode::Set::BndSet::BndSet ( Space home,
int  i,
int  j 
) [inline]

Initialize as the set $ \{i,\dots,j\}$.

Definition at line 143 of file integerset.icc.

Gecode::Set::BndSet::BndSet ( Space home,
const IntSet s 
)

Initialize as the set represented by s.

Definition at line 44 of file integerset.cc.


Member Function Documentation

void Gecode::Set::BndSet::fst ( RangeList r  )  [inline, protected]

Set first range to r.

Definition at line 133 of file integerset.icc.

void Gecode::Set::BndSet::lst ( RangeList r  )  [inline, protected]

Set last range to r.

Definition at line 138 of file integerset.icc.

RangeList * Gecode::Set::BndSet::fst ( void   )  const [inline, protected]

Return first range.

Definition at line 117 of file integerset.icc.

RangeList * Gecode::Set::BndSet::lst ( void   )  const [inline, protected]

Return last range.

Definition at line 122 of file integerset.icc.

void Gecode::Set::BndSet::dispose ( Space home  )  [inline]

Free memory used by this set.

Definition at line 127 of file integerset.icc.

int Gecode::Set::BndSet::min ( void   )  const [inline]

Return smallest element.

Definition at line 166 of file integerset.icc.

int Gecode::Set::BndSet::max ( void   )  const [inline]

Return greatest element.

Definition at line 172 of file integerset.icc.

int Gecode::Set::BndSet::minN ( unsigned int  n  )  const [inline]

Return n -th smallest element.

Definition at line 179 of file integerset.icc.

unsigned int Gecode::Set::BndSet::size ( void   )  const [inline]

Return size.

Definition at line 156 of file integerset.icc.

bool Gecode::Set::BndSet::empty ( void   )  const [inline]

Test whether this set is empty.

Definition at line 161 of file integerset.icc.

bool Gecode::Set::BndSet::in ( int  i  )  const [inline]

Test whether i is an element of this set.

Definition at line 271 of file integerset.icc.

void Gecode::Set::BndSet::become ( Space home,
const BndSet s 
) [inline]

Make this set equal to s.

Definition at line 258 of file integerset.icc.

RangeList * Gecode::Set::BndSet::ranges ( void   )  const [inline]

Return range list for iteration.

Definition at line 151 of file integerset.icc.

template<class I>
bool Gecode::Set::BndSet::overwrite ( Space home,
I &  i 
) [inline, protected]

Overwrite the ranges with those represented by i.

Definition at line 218 of file integerset.icc.

void Gecode::Set::BndSet::update ( Space home,
BndSet x 
) [inline]

Update this set to be a clone of set x.

Definition at line 189 of file integerset.icc.

bool Gecode::Set::BndSet::isConsistent ( void   )  const

Check whether internal invariants hold.

Definition at line 294 of file integerset.cc.


Member Data Documentation

unsigned int Gecode::Set::BndSet::_size [protected]

The size of this set.

Definition at line 158 of file var-imp.icc.

Returned by empty sets when asked for their maximum element.

Definition at line 171 of file var-imp.icc.

Returned by empty sets when asked for their minimum element.

Definition at line 173 of file var-imp.icc.


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