Generated on Mon Jul 6 18:09:24 2009 for Gecode by doxygen 1.5.9

Element constraints
[Using finite integer sets]


Functions

void Gecode::element (Space &home, SetOpType op, const SetVarArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max))
 Post propagator for $ z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] $.
void Gecode::element (Space &home, SetOpType op, const IntSetArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max))
 Post propagator for $ z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] $.
void Gecode::element (Space &home, const SetVarArgs &x, IntVar y, SetVar z)
 Post propagator for $ z=\langle x_0,\dots,x_{n-1}\rangle[y] $.
void Gecode::element (Space &home, const IntSetArgs &s, IntVar y, SetVar z)
 Post propagator for $ z=\langle s_0,\dots,s_{n-1}\rangle[y] $.

Detailed Description

An element constraint selects zero, one or more elements out of a sequence. We write $ \langle x_0,\dots, x_{n-1} \rangle $ for the sequence, and $ [y] $ for the index variable.

Set element constraints are closely related to the element constraint on integer variables.


Function Documentation

void Gecode::element ( Space &  home,
SetOpType  op,
const SetVarArgs &  x,
SetVar  y,
SetVar  z,
const IntSet &  u = IntSet(Set::Limits::min, Set::Limits::max) 
)

Post propagator for $ z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] $.

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.

Definition at line 55 of file element.cpp.

void Gecode::element ( Space &  home,
SetOpType  op,
const IntSetArgs &  x,
SetVar  y,
SetVar  z,
const IntSet &  u = IntSet(Set::Limits::min, Set::Limits::max) 
)

Post propagator for $ z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] $.

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.

Definition at line 94 of file element.cpp.

void Gecode::element ( Space &  home,
const SetVarArgs &  x,
IntVar  y,
SetVar  z 
)

Post propagator for $ z=\langle x_0,\dots,x_{n-1}\rangle[y] $.

The indices for y start at 0.

Definition at line 142 of file element.cpp.

void Gecode::element ( Space &  home,
const IntSetArgs &  s,
IntVar  y,
SetVar  z 
)

Post propagator for $ z=\langle s_0,\dots,s_{n-1}\rangle[y] $.

The indices for y start at 0.

Definition at line 154 of file element.cpp.