Gecode::TupleSet Class Reference
[Extensional constraints]
Class represeting a set of tuples. More...
#include <int.hh>
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 | |
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. | |
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). | |
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. |
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
typedef int* Gecode::TupleSet::Tuple |
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.
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.
Add tuple t to tuple set.
Definition at line 142 of file tuple-set.hpp.
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
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:
- gecode/int.hh
- gecode/int/extensional/tuple-set.cpp
- gecode/int/extensional/tuple-set.hpp