Element constraints
[Using finite integer sets]
Functions | |
void | Gecode::element (Home home, SetOpType op, const SetVarArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max)) |
Post propagator for . | |
void | Gecode::element (Home home, SetOpType op, const IntVarArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max)) |
Post propagator for . | |
void | Gecode::element (Home home, SetOpType op, const IntSetArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max)) |
Post propagator for . | |
void | Gecode::element (Home home, SetOpType op, const IntArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max)) |
Post propagator for . | |
void | Gecode::element (Home home, const SetVarArgs &x, IntVar y, SetVar z) |
Post propagator for . | |
void | Gecode::element (Home home, const IntSetArgs &s, IntVar y, SetVar z) |
Post propagator for . | |
void | Gecode::element (Home home, const IntSetArgs &a, IntVar x, int w, IntVar y, int h, SetVar z) |
Post propagator for . | |
void | Gecode::element (Home home, const SetVarArgs &a, IntVar x, int w, IntVar y, int h, SetVar z) |
Post propagator for . |
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 integer variables.
Function Documentation
void Gecode::element | ( | Home | home, | |
SetOpType | op, | |||
const SetVarArgs & | x, | |||
SetVar | y, | |||
SetVar | z, | |||
const IntSet & | u = IntSet(Set::Limits::min, Set::Limits::max) | |||
) |
Post propagator for .
If y is the empty set, the usual conventions for set operations apply: an empty union is empty, while an empty intersection is the universe, which can be given as the optional parameter u.
The indices for y start at 0.
void Gecode::element | ( | Home | home, | |
SetOpType | op, | |||
const IntVarArgs & | x, | |||
SetVar | y, | |||
SetVar | z, | |||
const IntSet & | u = IntSet(Set::Limits::min, Set::Limits::max) | |||
) |
Post propagator for .
If y is the empty set, the usual conventions for set operations apply: an empty union is empty, while an empty intersection is the universe, which can be given as the optional parameter u.
The indices for y start at 0.
void Gecode::element | ( | Home | home, | |
SetOpType | op, | |||
const IntSetArgs & | x, | |||
SetVar | y, | |||
SetVar | z, | |||
const IntSet & | u = IntSet(Set::Limits::min, Set::Limits::max) | |||
) |
Post propagator for .
If y is the empty set, the usual conventions for set operations apply: an empty union is empty, while an empty intersection is the universe, which can be given as the optional parameter u.
The indices for y start at 0.
void Gecode::element | ( | Home | home, | |
SetOpType | op, | |||
const IntArgs & | x, | |||
SetVar | y, | |||
SetVar | z, | |||
const IntSet & | u = IntSet(Set::Limits::min, Set::Limits::max) | |||
) |
Post propagator for .
If y is the empty set, the usual conventions for set operations apply: an empty union is empty, while an empty intersection is the universe, which can be given as the optional parameter u.
The indices for y start at 0.
void Gecode::element | ( | Home | home, | |
const SetVarArgs & | x, | |||
IntVar | y, | |||
SetVar | z | |||
) |
Post propagator for .
The indices for y start at 0.
void Gecode::element | ( | Home | home, | |
const IntSetArgs & | s, | |||
IntVar | y, | |||
SetVar | z | |||
) |
Post propagator for .
The indices for y start at 0.
void Gecode::element | ( | Home | home, | |
const IntSetArgs & | a, | |||
IntVar | x, | |||
int | w, | |||
IntVar | y, | |||
int | h, | |||
SetVar | z | |||
) |
Post propagator for .
Throws an exception of type Set::ArgumentSizeMismatch, if .
void Gecode::element | ( | Home | home, | |
const SetVarArgs & | a, | |||
IntVar | x, | |||
int | w, | |||
IntVar | y, | |||
int | h, | |||
SetVar | z | |||
) |
Post propagator for .
Throws an exception of type Set::ArgumentSizeMismatch, if .