Element constraints
[Using finite integer sets]
Detailed Description
An element constraint selects zero, one or more elements out of a sequence. We write
for the sequence, and
for the index variable.Set element constraints are closely related to the element constraint on finite domain variables.
Functions | |
| void | Gecode::elementsUnion (Space *home, const SetVarArgs &x, SetVar y, SetVar z) |
Post propagator for . | |
| void | Gecode::elementsUnion (Space *home, const IntSetArgs &s, SetVar y, SetVar z) |
Post propagator for . | |
| void | Gecode::elementsInter (Space *home, const SetVarArgs &x, SetVar y, SetVar z) |
Post propagator for using as universe. | |
| void | Gecode::elementsInter (Space *home, const SetVarArgs &x, SetVar y, SetVar z, const IntSet &u) |
Post propagator for using u as universe. | |
| void | Gecode::elementsDisjoint (Space *home, const SetVarArgs &x, SetVar y) |
Post propagator for . | |
| void | Gecode::element (Space *home, const SetVarArgs &x, IntVar y, SetVar z) |
Post propagator for . | |
| void | Gecode::element (Space *home, const IntSetArgs &s, IntVar y, SetVar z) |
Post propagator for . | |
Function Documentation
| void Gecode::elementsUnion | ( | Space * | home, | |
| const SetVarArgs & | x, | |||
| SetVar | y, | |||
| SetVar | z | |||
| ) |
Post propagator for
.
If y is the empty set, z will also be constrained to be empty (as an empty union is empty). The indices for s start at 0.
Definition at line 47 of file element.cc.
| void Gecode::elementsUnion | ( | Space * | home, | |
| const IntSetArgs & | s, | |||
| SetVar | y, | |||
| SetVar | z | |||
| ) |
Post propagator for
.
If y is the empty set, z will also be constrained to be empty (as an empty union is empty). The indices for s start at 0.
Definition at line 56 of file element.cc.
| void Gecode::elementsInter | ( | Space * | home, | |
| const SetVarArgs & | x, | |||
| SetVar | y, | |||
| SetVar | z | |||
| ) |
Post propagator for
using
as universe.
If y is empty, z will be constrained to be the universe
(as an empty intersection is the universe). The indices for s start at 0.
Definition at line 67 of file element.cc.
| void Gecode::elementsInter | ( | Space * | home, | |
| const SetVarArgs & | x, | |||
| SetVar | y, | |||
| SetVar | z, | |||
| const IntSet & | u | |||
| ) |
Post propagator for
using u as universe.
If y is empty, z will be constrained to be the given universe u (as an empty intersection is the universe). The indices for s start at 0.
Definition at line 78 of file element.cc.
| void Gecode::elementsDisjoint | ( | Space * | home, | |
| const SetVarArgs & | x, | |||
| SetVar | y | |||
| ) |
| void Gecode::element | ( | Space * | home, | |
| const SetVarArgs & | x, | |||
| IntVar | y, | |||
| SetVar | z | |||
| ) |
| void Gecode::element | ( | Space * | home, | |
| const IntSetArgs & | s, | |||
| IntVar | y, | |||
| SetVar | z | |||
| ) |

.
.
.