Generated on Tue May 22 09:40:40 2018 for Gecode by doxygen 1.6.3

# Distinct constraints [Using integer variables and constraints]

## Functions

void Gecode::distinct (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
Post propagator for for all .
void Gecode::distinct (Home home, const IntArgs &n, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
Post propagator for for all .
void Gecode::distinct (Home home, const BoolVarArgs &b, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
Post propagator for for all .
void Gecode::distinct (Home home, const IntVarArgs &x, int c, IntPropLevel ipl=IPL_DEF)
Post propagator for for all .

## Function Documentation

 void Gecode::distinct ( Home home, const IntVarArgs & x, IntPropLevel ipl = IPL_DEF )

Post propagator for for all .

Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).

Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

 void Gecode::distinct ( Home home, const IntArgs & n, const IntVarArgs & x, IntPropLevel ipl = IPL_DEF )

Post propagator for for all .

• Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
• Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits or if the sum of n and x exceed the limits.
• Throws an exception of type Int::ArgumentSizeMismatch, if x and n are of different size.
• Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
 void Gecode::distinct ( Home home, const BoolVarArgs & b, const IntVarArgs & x, IntPropLevel ipl = IPL_DEF )

Post propagator for for all .

• Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
• Throws an exception of type Int::OutOfLimits, if the variable domains in x are too large (it must hold that one of the values and does not exceed the limits in Int::Limits.
• Throws an exception of type Int::ArgumentSizeMismatch, if b and x are of different size.
• Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.
 void Gecode::distinct ( Home home, const IntVarArgs & x, int c, IntPropLevel ipl = IPL_DEF )

Post propagator for for all .

• Supports value (ipl = IPL_VAL, default), bounds (ipl = IPL_BND), and domain consistency (ipl = IPL_DOM).
• Throws an exception of type Int::OutOfLimits, if the variable domains in x are too large (it must hold that one of the values and does not exceed the limits in Int::Limits.
• Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.