Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0

Sets of integers. More...

#include <var-imp.hpp>

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.
 

Protected Attributes

unsigned int _size
 The size of this set.
 
unsigned int _card
 The cardinality this set represents.
 

Range list access for iteration

template<class I >
bool overwrite (Space &home, I &i)
 Overwrite the ranges with those represented by i.
 
RangeListranges (void) const
 Return range list for iteration.
 

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.
 
unsigned int card (void) const
 Return cardinality.
 
void card (unsigned int c)
 Set cardinality.
 

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.
 

Cloning

void update (Space &home, BndSet &x)
 Update this set to be a clone of set x.
 
bool isConsistent (void) const
 Check whether internal invariants hold.
 

Detailed Description

Sets of integers.

Definition at line 89 of file var-imp.hpp.

Constructor & Destructor Documentation

◆ BndSet() [1/3]

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

Default constructor. Creates an empty set.

Definition at line 46 of file integerset.hpp.

◆ BndSet() [2/3]

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

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

Definition at line 76 of file integerset.hpp.

◆ BndSet() [3/3]

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

Initialize as the set represented by s.

Definition at line 40 of file integerset.cpp.

Member Function Documentation

◆ fst() [1/2]

void Gecode::Set::BndSet::fst ( RangeList * r)
inlineprotected

Set first range to r.

Definition at line 66 of file integerset.hpp.

◆ lst() [1/2]

void Gecode::Set::BndSet::lst ( RangeList * r)
inlineprotected

Set last range to r.

Definition at line 71 of file integerset.hpp.

◆ fst() [2/2]

RangeList * Gecode::Set::BndSet::fst ( void ) const
inlineprotected

Return first range.

Definition at line 50 of file integerset.hpp.

◆ lst() [2/2]

RangeList * Gecode::Set::BndSet::lst ( void ) const
inlineprotected

Return last range.

Definition at line 55 of file integerset.hpp.

◆ dispose()

void Gecode::Set::BndSet::dispose ( Space & home)
inline

Free memory used by this set.

Definition at line 60 of file integerset.hpp.

◆ min()

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

Return smallest element.

Definition at line 103 of file integerset.hpp.

◆ max()

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

Return greatest element.

Definition at line 111 of file integerset.hpp.

◆ minN()

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

Return n -th smallest element.

Definition at line 120 of file integerset.hpp.

◆ size()

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

Return size.

Definition at line 93 of file integerset.hpp.

◆ card() [1/2]

unsigned int Gecode::Set::BndSet::card ( void ) const
inline

Return cardinality.

Definition at line 130 of file integerset.hpp.

◆ card() [2/2]

void Gecode::Set::BndSet::card ( unsigned int c)
inline

Set cardinality.

Definition at line 135 of file integerset.hpp.

◆ empty()

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

Test whether this set is empty.

Definition at line 98 of file integerset.hpp.

◆ in()

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

Test whether i is an element of this set.

Definition at line 224 of file integerset.hpp.

◆ become()

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

Make this set equal to s.

Definition at line 211 of file integerset.hpp.

◆ ranges()

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

Return range list for iteration.

Definition at line 88 of file integerset.hpp.

◆ overwrite()

template<class I >
bool Gecode::Set::BndSet::overwrite ( Space & home,
I & i )
inlineprotected

Overwrite the ranges with those represented by i.

Definition at line 171 of file integerset.hpp.

◆ update()

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

Update this set to be a clone of set x.

Definition at line 140 of file integerset.hpp.

◆ isConsistent()

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

Check whether internal invariants hold.

Definition at line 289 of file integerset.cpp.

Member Data Documentation

◆ _size

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

The size of this set.

Definition at line 95 of file var-imp.hpp.

◆ _card

unsigned int Gecode::Set::BndSet::_card
protected

The cardinality this set represents.

Definition at line 97 of file var-imp.hpp.

◆ MAX_OF_EMPTY

const int Gecode::Set::BndSet::MAX_OF_EMPTY = Limits::min-1
static

Returned by empty sets when asked for their maximum element.

Definition at line 110 of file var-imp.hpp.

◆ MIN_OF_EMPTY

const int Gecode::Set::BndSet::MIN_OF_EMPTY = Limits::max+1
static

Returned by empty sets when asked for their minimum element.

Definition at line 112 of file var-imp.hpp.


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