
Classes | |
| class | Gecode::DFA |
| Deterministic finite automaton (DFA). More... | |
| class | Gecode::TupleSet |
| Class representing a set of tuples. More... | |
Enumerations | |
| enum class | Gecode::ExtensionalPropKind { Gecode::ExtensionalPropKind::EPK_AUTO , Gecode::ExtensionalPropKind::EPK_DENSE , Gecode::ExtensionalPropKind::EPK_SPARSE , Gecode::ExtensionalPropKind::EPK_DENSE_COMPRESSED } |
| Support representation selection for extensional tuple sets. More... | |
Functions | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for extensional constraint described by a DFA. | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF) |
| Post domain consistent propagator for extensional constraint described by a DFA. | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x\in t\). | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x\in t\) or \(x\not\in t\). | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x\in t)\equiv r\). | |
| void | Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x\in t)\equiv r\) or \((x\not\in t)\equiv r\). | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x\in t\). | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \(x\in t\) or \(x\not\in t\). | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x\in t)\equiv r\). | |
| void | Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF) |
| Post propagator for \((x\in t)\equiv r\) or \((x\not\in t)\equiv r\). | |
Extensional constraints support different ways of how the extensionally defined relation between the variables is defined. Examples include specification by a DFA or a table.
A DFA can be defined by a regular expression, for regular expressions see the module MiniModel.
|
strong |
Support representation selection for extensional tuple sets.
The selector controls which support representation is materialized by TupleSet::finalize(ExtensionalPropKind). Tuple-set posting dispatches to the propagator for the concrete representation stored in the tuple set. During finalization, EPK_AUTO selects dense or compressed support according to the normal size and density policy; it never selects sparse support.
| void Gecode::extensional | ( | Home | home, |
| const IntVarArgs & | x, | ||
| DFA | d, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for extensional constraint described by a DFA.
The elements of x must be a word of the language described by the DFA d.
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply. If shared occurrences of variables are required, unshare should be used.
| void Gecode::extensional | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| DFA | d, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post domain consistent propagator for extensional constraint described by a DFA.
The elements of x must be a word of the language described by the DFA d.
Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply. If shared occurrences of variables are required, unshare should be used.
|
inline |
Post propagator for \(x\in t\).
Definition at line 37 of file extensional.hpp.
| void Gecode::extensional | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const TupleSet & | t, | ||
| bool | pos, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(x\in t\) or \(x\not\in t\).
|
inline |
Post propagator for \((x\in t)\equiv r\).
Definition at line 43 of file extensional.hpp.
| void Gecode::extensional | ( | Home | home, |
| const IntVarArgs & | x, | ||
| const TupleSet & | t, | ||
| bool | pos, | ||
| Reify | r, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \((x\in t)\equiv r\) or \((x\not\in t)\equiv r\).
|
inline |
Post propagator for \(x\in t\).
Definition at line 49 of file extensional.hpp.
| void Gecode::extensional | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| const TupleSet & | t, | ||
| bool | pos, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \(x\in t\) or \(x\not\in t\).
|
inline |
Post propagator for \((x\in t)\equiv r\).
Definition at line 55 of file extensional.hpp.
| void Gecode::extensional | ( | Home | home, |
| const BoolVarArgs & | x, | ||
| const TupleSet & | t, | ||
| bool | pos, | ||
| Reify | r, | ||
| IntPropLevel | ipl = IPL_DEF ) |
Post propagator for \((x\in t)\equiv r\) or \((x\not\in t)\equiv r\).