Generated on Tue May 22 09:40:53 2018 for Gecode by doxygen 1.6.3

Gecode::TupleSet Class Reference
[Extensional constraints]

Class represeting a set of tuples. More...

#include <int.hh>

List of all members.

Classes

class  Data
 Data stored for a Table. More...
class  Range
 Range information. More...
class  Ranges
 Iterator over ranges. More...
class  ValueData
 Data about values in the table. More...

Public Types

typedef int * Tuple
 Type of a tuple.
typedef Gecode::Support::BitSetData BitSetData
 Import bit set data type.

Protected Member Functions

Datadata (void) const
 Get data (must be initialized and finalized).
Dataraw (void) const
 Get raw data (must be initialized).
void _add (const IntArgs &t)
 Add tuple t to tuple set.
bool equal (const TupleSet &t) const
 Test whether tuple set is equal to t.

Related Functions

(Note that these are not member functions.)



template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const TupleSet &ts)

Initialization



 TupleSet (void)
 Construct an unitialized tuple set.
 TupleSet (int a)
 Initialize for a tuple set with arity a.
void init (int a)
 Initialize an uninitialized tuple set.
 TupleSet (const TupleSet &t)
 Initialize by TupleSet t (tuple set is shared).
TupleSetoperator= (const TupleSet &t)
 Assignment operator.
 TupleSet (int a, const DFA &dfa)
 Initialize with DFA dfa for arity a.
 operator bool (void) const
 Test whether tuple set has been initialized.
bool operator== (const TupleSet &t) const
 Test whether tuple set is equal to t.
bool operator!= (const TupleSet &t) const
 Test whether tuple set is different from t.

Addition and finalization



TupleSetadd (const IntArgs &t)
 Add tuple t to tuple set.
TupleSetadd (int n,...)
 Add tuple with elements n, ... to tuple set.
bool finalized (void) const
 Is tuple set finalized.
void finalize (void)
 Finalize tuple set.

Tuple access



int arity (void) const
 Arity of tuple set.
int tuples (void) const
 Number of tuples.
unsigned int words (void) const
 Return number of required bit set words.
Tuple operator[] (int i) const
 Get tuple i.
int min (void) const
 Return minimal value in all tuples.
int max (void) const
 Return maximal value in all tuples.
std::size_t hash (void) const
 Return hash key.

Range access and iteration



const Rangefst (int i) const
 Return first range for position i.
const Rangelst (int i) const
 Return last range for position i.

Detailed Description

Class represeting a set of tuples.

A TupleSet is used for storing an extensional representation of a constraint. After a TupleSet is finalized, no more tuples may be added to it.

Definition at line 2140 of file int.hh.


Member Typedef Documentation

Type of a tuple.

The arity of the tuple is left implicit.

Definition at line 2146 of file int.hh.

Import bit set data type.

Definition at line 2148 of file int.hh.


Constructor & Destructor Documentation

Gecode::TupleSet::TupleSet ( void   )  [inline]

Construct an unitialized tuple set.

Definition at line 147 of file tuple-set.hpp.

Gecode::TupleSet::TupleSet ( int  a  ) 

Initialize for a tuple set with arity a.

Definition at line 266 of file tuple-set.cpp.

Gecode::TupleSet::TupleSet ( const TupleSet t  ) 

Initialize by TupleSet t (tuple set is shared).

Definition at line 272 of file tuple-set.cpp.

Gecode::TupleSet::TupleSet ( int  a,
const DFA dfa 
)

Initialize with DFA dfa for arity a.

Edges in layered graph

< Number of in-state

< Number of out-state

State in layered graph

< In-degree (number of incoming arcs)

< Out-degree (number of outgoing arcs)

< Number of tuples

< The tuples

Support for a value

< Supported value

< Number of supporting edges

< Supporting edges

Layer in layered graph

< States

< Supported values

< Number of supported values

Definition at line 280 of file tuple-set.cpp.


Member Function Documentation

TupleSet::Data & Gecode::TupleSet::data ( void   )  const [inline, protected]

Get data (must be initialized and finalized).

Definition at line 167 of file tuple-set.hpp.

TupleSet::Data & Gecode::TupleSet::raw ( void   )  const [inline, protected]

Get raw data (must be initialized).

Definition at line 172 of file tuple-set.hpp.

void Gecode::TupleSet::_add ( const IntArgs t  )  [protected]

Add tuple t to tuple set.

Definition at line 460 of file tuple-set.cpp.

bool Gecode::TupleSet::equal ( const TupleSet t  )  const [protected]

Test whether tuple set is equal to t.

Definition at line 447 of file tuple-set.cpp.

void Gecode::TupleSet::init ( int  a  ) 

Initialize an uninitialized tuple set.

Definition at line 269 of file tuple-set.cpp.

TupleSet & Gecode::TupleSet::operator= ( const TupleSet t  ) 

Assignment operator.

Definition at line 275 of file tuple-set.cpp.

Gecode::TupleSet::operator bool ( void   )  const [inline]

Test whether tuple set has been initialized.

Reimplemented from Gecode::SharedHandle.

Definition at line 150 of file tuple-set.hpp.

bool Gecode::TupleSet::operator== ( const TupleSet t  )  const [inline]

Test whether tuple set is equal to t.

Definition at line 214 of file tuple-set.hpp.

bool Gecode::TupleSet::operator!= ( const TupleSet t  )  const [inline]

Test whether tuple set is different from t.

Definition at line 177 of file tuple-set.hpp.

TupleSet & Gecode::TupleSet::add ( const IntArgs t  )  [inline]

Add tuple t to tuple set.

Definition at line 142 of file tuple-set.hpp.

TupleSet & Gecode::TupleSet::add ( int  n,
  ... 
)

Add tuple with elements n, ... to tuple set.

Definition at line 473 of file tuple-set.cpp.

bool Gecode::TupleSet::finalized ( void   )  const [inline]

Is tuple set finalized.

Definition at line 162 of file tuple-set.hpp.

void Gecode::TupleSet::finalize ( void   )  [inline]

Finalize tuple set.

Definition at line 155 of file tuple-set.hpp.

int Gecode::TupleSet::arity ( void   )  const [inline]

Arity of tuple set.

Definition at line 181 of file tuple-set.hpp.

int Gecode::TupleSet::tuples ( void   )  const [inline]

Number of tuples.

Definition at line 185 of file tuple-set.hpp.

unsigned int Gecode::TupleSet::words ( void   )  const [inline]

Return number of required bit set words.

Definition at line 189 of file tuple-set.hpp.

TupleSet::Tuple Gecode::TupleSet::operator[] ( int  i  )  const [inline]

Get tuple i.

Definition at line 201 of file tuple-set.hpp.

int Gecode::TupleSet::min ( void   )  const [inline]

Return minimal value in all tuples.

Definition at line 193 of file tuple-set.hpp.

int Gecode::TupleSet::max ( void   )  const [inline]

Return maximal value in all tuples.

Definition at line 197 of file tuple-set.hpp.

std::size_t Gecode::TupleSet::hash ( void   )  const [inline]

Return hash key.

Definition at line 227 of file tuple-set.hpp.

const TupleSet::Range * Gecode::TupleSet::fst ( int  i  )  const [inline]

Return first range for position i.

Definition at line 205 of file tuple-set.hpp.

const TupleSet::Range * Gecode::TupleSet::lst ( int  i  )  const [inline]

Return last range for position i.

Definition at line 209 of file tuple-set.hpp.


Friends And Related Function Documentation

template<class Char , class Traits >
std::basic_ostream< Char, Traits > & operator<< ( std::basic_ostream< Char, Traits > &  os,
const TupleSet ts 
) [related]

Print TupleSet ts

Definition at line 234 of file tuple-set.hpp.


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