Generated on Mon Aug 25 11:35:46 2008 for Gecode by doxygen 1.5.6

# Simple relation constraints over integer variables [Using finite domain integers]

## Functions

void Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagators for for all .
void Gecode::rel (Space *home, IntVar x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Propagates .
void Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Propagates for all .
void Gecode::rel (Space *home, IntVar x0, IntRelType r, IntVar x1, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::rel (Space *home, IntVar x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for .
void Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for pairwise relation on x.
void Gecode::rel (Space *home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
Post propagator for relation between x and y.

## Function Documentation

 void Gecode::rel ( Space * home, const IntVarArgs & x, IntRelType r, IntVar y, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagators for for all .

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

Definition at line 133 of file rel.cc.

 void Gecode::rel ( Space * home, IntVar x0, IntRelType r, int n, IntConLevel , PropKind )

Propagates .

Definition at line 48 of file rel.cc.

 void Gecode::rel ( Space * home, const BoolVarArgs & x, IntRelType r, int n, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Propagates for all .

Propagates for all .

Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.

Definition at line 302 of file bool.cc.

 void Gecode::rel ( Space * home, IntVar x0, IntRelType r, IntVar x1, BoolVar b, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagator for .

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

Definition at line 182 of file rel.cc.

 void Gecode::rel ( Space * home, IntVar x, IntRelType r, int c, BoolVar b, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagator for .

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

Definition at line 226 of file rel.cc.

 void Gecode::rel ( Space * home, const IntVarArgs & x, IntRelType r, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagator for pairwise relation on x.

States that the elements of x are in the following relation:

• if r = IRT_EQ, then all elements of x must be equal. Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).
• if r = IRT_LE, r = IRT_LQ, r = IRT_GR, or r = IRT_GQ, then the elements of x are ordered with respt to r. Supports domain consistency (icl = ICL_DOM, default).
• if r = IRT_NQ, then all elements of x must be pairwise distinct (corresponds to the distinct constraint). Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM). Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

States that the elements of x are in the following relation:

• if r = IRT_EQ, then all elements of x must be equal.
• if r = IRT_LE, r = IRT_LQ, r = IRT_GR, or r = IRT_GQ, then the elements of x are ordered with respt to r.
• if r = IRT_NQ, then all elements of x must be pairwise distinct (corresponds to the distinct constraint).

Definition at line 354 of file bool.cc.

 void Gecode::rel ( Space * home, const IntVarArgs & x, IntRelType r, const IntVarArgs & y, IntConLevel icl = ICL_DEF, PropKind pk = PK_DEF )

Post propagator for relation between x and y.

Note that for the inequality relations this corresponds to the lexical order between x and y.

Supports both bounds (icl = ICL_BND) and domain consistency (icl = ICL_DOM, default).

Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.

Note that for the inequality relations this corresponds to the lexical order between x and y.

Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.

Definition at line 400 of file bool.cc.