Generated on Thu Oct 26 14:26:06 2006 for Gecode by doxygen 1.4.7

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 110 of file var.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.
int maxN (unsigned int n) const
 Return n -th greatest 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 linkTo (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::Set::int_min-1
 Returned by empty sets when asked for their maximum element.
static const int MIN_OF_EMPTY = Limits::Set::int_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 130 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 160 of file integerset.icc.

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

Initialize as the set represented by s.

Definition at line 28 of file integerset.cc.


Member Function Documentation

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

Set first range to r.

Definition at line 150 of file integerset.icc.

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

Set last range to r.

Definition at line 155 of file integerset.icc.

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

Return first range.

Definition at line 134 of file integerset.icc.

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

Return last range.

Definition at line 139 of file integerset.icc.

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

Free memory used by this set.

Definition at line 144 of file integerset.icc.

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

Return smallest element.

Definition at line 183 of file integerset.icc.

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

Return greatest element.

Definition at line 189 of file integerset.icc.

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

Return n -th smallest element.

Definition at line 196 of file integerset.icc.

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

Return n -th greatest element.

Definition at line 213 of file integerset.icc.

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

Return size.

Definition at line 173 of file integerset.icc.

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

Test whether this set is empty.

Definition at line 178 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 320 of file integerset.icc.

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

Make this set equal to s.

Definition at line 307 of file integerset.icc.

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

Return range list for iteration.

Definition at line 168 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 267 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 229 of file integerset.icc.

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

Check whether internal invariants hold.

Definition at line 195 of file integerset.cc.


Member Data Documentation

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

The size of this set.

Definition at line 116 of file var.icc.

Returned by empty sets when asked for their maximum element.

Definition at line 129 of file var.icc.

Returned by empty sets when asked for their minimum element.

Definition at line 131 of file var.icc.


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