TaskModelIntRelBool Simple relation constraints over Boolean variables GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntConLevel icl=ICL_DEF) rel Home home BoolVar x0 IntRelType irt BoolVar x1 IntConLevel icl ICL_DEF Post domain consistent propagator for $ x_0 \sim_{irt} x_1$. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, Reify r, IntConLevel icl=ICL_DEF) rel Home home BoolVar x0 IntRelType irt BoolVar x1 Reify r IntConLevel icl ICL_DEF Post domain consistent propagator for $(x_0 \sim_{irt} x_1)\equiv r$. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, BoolVar y, IntConLevel icl=ICL_DEF) rel Home home const BoolVarArgs & x IntRelType irt BoolVar y IntConLevel icl ICL_DEF Post doamin consistent propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, IntConLevel icl=ICL_DEF) rel Home home BoolVar x IntRelType irt int n IntConLevel icl ICL_DEF Propagates $ x \sim_{irt} n$. Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, Reify r, IntConLevel icl=ICL_DEF) rel Home home BoolVar x IntRelType irt int n Reify r IntConLevel icl ICL_DEF Post domain consistent propagator for $(x \sim_{irt} n)\equiv r$. Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, int n, IntConLevel icl=ICL_DEF) rel Home home const BoolVarArgs & x IntRelType irt int n IntConLevel icl ICL_DEF Propagates $ x_i \sim_{irt} n $ for all $0\leq i<|x|$. Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, const BoolVarArgs &y, IntConLevel icl=ICL_DEF) rel Home home const BoolVarArgs & x IntRelType irt const BoolVarArgs & y IntConLevel icl ICL_DEF Post domain consistent propagator for relation between x and y. 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. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, IntConLevel icl=ICL_DEF) rel Home home const BoolVarArgs & x IntRelType irt IntConLevel icl ICL_DEF Post domain consistent propagator for relation between elements in x. States that the elements of x are in the following relation: if r = IRT_LE, r = IRT_LQ, r = IRT_GR, or r = IRT_GQ, then the elements of x are ordered with respect to r.if r = IRT_EQ, then all elements of x must be equal.if r = IRT_NQ, then not all elements of x must be equal. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, IntConLevel icl=ICL_DEF) rel Home home BoolVar x0 BoolOpType o BoolVar x1 BoolVar x2 IntConLevel icl ICL_DEF Post domain consistent propagator for Boolean operation on x0 and x1. Posts propagator for $ x_0 \diamond_{\mathit{o}} x_1 = x_2$ GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, int n, IntConLevel icl=ICL_DEF) rel Home home BoolVar x0 BoolOpType o BoolVar x1 int n IntConLevel icl ICL_DEF Post domain consistent propagator for Boolean operation on x0 and x1. Posts propagator for $ x_0 \diamond_{\mathit{o}} x_1 = n$Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntConLevel icl=ICL_DEF) rel Home home BoolOpType o const BoolVarArgs & x BoolVar y IntConLevel icl ICL_DEF Post domain consistent propagator for Boolean operation on x. Posts propagator for $ x_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} x_{|x|-1}= y$Throws an exception of type Int::TooFewArguments, if $|x|<2$ and o is BOT_IMP, BOT_EQV, or BOT_XOR. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntConLevel icl=ICL_DEF) rel Home home BoolOpType o const BoolVarArgs & x int n IntConLevel icl ICL_DEF Post domain consistent propagator for Boolean operation on x. Posts propagator for $ x_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} x_{|x|-1}= n$Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.Throws an exception of type Int::TooFewArguments, if $|x|<2$ and o is BOT_IMP, BOT_EQV, or BOT_XOR. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, BoolVar z, IntConLevel icl=ICL_DEF) clause Home home BoolOpType o const BoolVarArgs & x const BoolVarArgs & y BoolVar z IntConLevel icl ICL_DEF Post domain consistent propagator for Boolean clause with positive variables x and negative variables y. Posts propagator for $ x_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} x_{|x|-1} \diamond_{\mathit{o}} \neg y_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} \neg y_{|y|-1}= z$Throws an exception of type Int::IllegalOperation, if o is different from BOT_AND or BOT_OR. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, int n, IntConLevel icl=ICL_DEF) clause Home home BoolOpType o const BoolVarArgs & x const BoolVarArgs & y int n IntConLevel icl ICL_DEF Post domain consistent propagator for Boolean clause with positive variables x and negative variables y. Posts propagator for $ x_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} x_{|x|-1} \diamond_{\mathit{o}} \neg y_0 \diamond_{\mathit{o}} \cdots \diamond_{\mathit{o}} \neg y_{|y|-1}= n$Throws an exception of type Int::NotZeroOne, if n is neither 0 or 1.Throws an exception of type Int::IllegalOperation, if o is different from BOT_AND or BOT_OR. GECODE_INT_EXPORT void GECODE_INT_EXPORT void Gecode::ite (Home home, BoolVar b, IntVar x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF) ite Home home BoolVar b IntVar x IntVar y IntVar z IntConLevel icl ICL_DEF Post propagator for if-then-else constraint. Posts propagator for $ z = b ? x : y $