Gecode::TupleSet Class Reference
Functionality by programming task » Programming models » Using integer variables and constraints » Extensional constraints

Class represeting a set of tuples. More...

`#include <int.hh>`

## Classes

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

## Public Types

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

## Protected Member Functions

Data & | data (void) const
| Get data (must be initialized and finalized).
Data & | raw (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.
Protected Member Functions inherited from Gecode::SharedHandle
SharedHandle::Object * | object (void) const
| Access to the shared object.
void | object (SharedHandle::Object *n)
| Modify shared object.

## Related Symbols

(Note that these are not member symbols.)
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).
TupleSet & | operator= (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

TupleSet & | add (const IntArgs &t)
| Add tuple t 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 Range * | fst (int i) const
| Return first range for position i.
const Range * | lst (int i) const
| Return last range for position i.

## Additional Inherited Members

Public Member Functions inherited from Gecode::SharedHandle
| SharedHandle (void)
| Create shared handle with no object pointing to.
| SharedHandle (SharedHandle::Object *so)
| Create shared handle that points to shared object so.
| SharedHandle (const SharedHandle &sh)
| Copy constructor maintaining reference count.
SharedHandle & | operator= (const SharedHandle &sh)
| Assignment operator maintaining reference count.
| ~SharedHandle (void)
| Destructor that maintains reference count.
| operator bool (void) const
| Whether handle points to an object.

## 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 2191 of file int.hh.

## Member Typedef Documentation

## Tuple

typedef int* Gecode::TupleSet::Tuple

Type of a tuple.

The arity of the tuple is left implicit.

Definition at line 2197 of file int.hh.

## BitSetData

typedef Gecode::Support::BitSetData Gecode::TupleSet::BitSetData

Import bit set data type.

Definition at line 2199 of file int.hh.

## Constructor & Destructor Documentation

## TupleSet() [1/4]

Gecode::TupleSet::TupleSet | ( | void |  | ) |

inline

Construct an unitialized tuple set.

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

## TupleSet() [2/4]

Gecode::TupleSet::TupleSet | ( | int | a | ) |

Initialize for a tuple set with arity a.

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

## TupleSet() [3/4]

Gecode::TupleSet::TupleSet | ( | const TupleSet & | t | ) |

Initialize by TupleSet t (tuple set is shared).

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

## TupleSet() [4/4]

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

## data()

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.

## raw()

TupleSet::Data & Gecode::TupleSet::raw | ( | void |  | ) | const

inline protected

Get raw data (must be initialized).

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

## _add()

void Gecode::TupleSet::_add | ( | const IntArgs & | t | ) |

protected

Add tuple t to tuple set.

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

## equal()

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.

## init()

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

Initialize an uninitialized tuple set.

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

## operator=()

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

Assignment operator.

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

## operator bool()

Gecode::TupleSet::operator bool | ( | void |  | ) | const

inline

Test whether tuple set has been initialized.

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

## operator==()

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.

## operator!=()

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.

## add()

TupleSet & Gecode::TupleSet::add | ( | const IntArgs & | t | ) |

inline

Add tuple t to tuple set.

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

## finalized()

bool Gecode::TupleSet::finalized | ( | void |  | ) | const

inline

Is tuple set finalized.

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

## finalize()

void Gecode::TupleSet::finalize | ( | void |  | ) |

inline

Finalize tuple set.

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

## arity()

int Gecode::TupleSet::arity | ( | void |  | ) | const

inline

Arity of tuple set.

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

## tuples()

int Gecode::TupleSet::tuples | ( | void |  | ) | const

inline

Number of tuples.

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

## words()

unsigned int Gecode::TupleSet::words | ( | void |  | ) | const

inline

Return number of required bit set words.

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

## operator[]()

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

inline

Get tuple i.

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

## min()

int Gecode::TupleSet::min | ( | void |  | ) | const

inline

Return minimal value in all tuples.

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

## max()

int Gecode::TupleSet::max | ( | void |  | ) | const

inline

Return maximal value in all tuples.

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

## hash()

std::size_t Gecode::TupleSet::hash | ( | void |  | ) | const

inline

Return hash key.

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

## fst()

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.

## lst()

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 Symbol Documentation

## operator<<()

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 227 of file tuple-set.hpp.

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

- gecode/int.hh
- gecode/int/extensional/tuple-set.cpp
- gecode/int/extensional/tuple-set.hpp