Generated on Thu Apr 11 13:59:26 2019 for Gecode by doxygen 1.6.3

int.hh File Reference

#include <climits>
#include <cfloat>
#include <iostream>
#include <vector>
#include <unordered_map>
#include <functional>
#include <utility>
#include <initializer_list>
#include <gecode/kernel.hh>
#include <gecode/search.hh>
#include <gecode/iter.hh>
#include <gecode/support/auto-link.hpp>
#include <gecode/int/exception.hpp>
#include <gecode/int/limits.hpp>
#include <gecode/int/int-set-1.hpp>
#include <gecode/int/var-imp.hpp>
#include <gecode/int/view.hpp>
#include <gecode/int/propagator.hpp>
#include <gecode/int/array-traits.hpp>
#include <gecode/int/int-set-2.hpp>
#include <gecode/int/array.hpp>
#include <gecode/int/reify.hpp>
#include <gecode/int/irt.hpp>
#include <gecode/int/ipl.hpp>
#include <gecode/int/channel.hpp>
#include <gecode/int/extensional/dfa.hpp>
#include <gecode/int/extensional/tuple-set.hpp>
#include <gecode/int/extensional.hpp>
#include <gecode/int/branch/traits.hpp>
#include <gecode/int/branch/afc.hpp>
#include <gecode/int/branch/action.hpp>
#include <gecode/int/branch/chb.hpp>
#include <gecode/int/branch/var.hpp>
#include <gecode/int/branch/val.hpp>
#include <gecode/int/branch/assign.hpp>
#include <gecode/int/branch.hpp>
#include <gecode/int/trace/int-trace-view.hpp>
#include <gecode/int/trace/bool-trace-view.hpp>
#include <gecode/int/trace/int-delta.hpp>
#include <gecode/int/trace/bool-delta.hpp>
#include <gecode/int/trace/traits.hpp>
#include <gecode/int/trace.hpp>

Go to the source code of this file.

Classes

class  Gecode::IntSet
 Integer sets. More...
class  Gecode::IntSetRanges
 Range iterator for integer sets. More...
class  Gecode::IntSetValues
 Value iterator for integer sets. More...
class  Gecode::IntVar
 Integer variables. More...
class  Gecode::IntVarRanges
 Range iterator for integer variables More...
class  Gecode::IntVarValues
 Value iterator for integer variables. More...
class  Gecode::BoolVar
 Boolean integer variables. More...
class  Gecode::IntArgs
 Passing integer arguments. More...
class  Gecode::IntVarArgs
 Passing integer variables. More...
class  Gecode::BoolVarArgs
 Passing Boolean variables. More...
class  Gecode::IntVarArray
 Integer variable array. More...
class  Gecode::BoolVarArray
 Boolean variable array. More...
class  Gecode::Reify
 Reification specification. More...
class  Gecode::ArrayTraits< ArgArray< TaskType > >
 Traits of TaskTypeArgs. More...
class  Gecode::DFA
 Deterministic finite automaton (DFA). More...
class  Gecode::DFA::Transition
 Specification of a DFA transition. More...
class  Gecode::DFA::Transitions
 Iterator for DFA transitions (sorted by symbols). More...
class  Gecode::DFA::Symbols
 Iterator for DFA symbols. More...
class  Gecode::TupleSet
 Class represeting a set of tuples. More...
class  Gecode::TupleSet::Range
 Range information. More...
class  Gecode::TupleSet::ValueData
 Data about values in the table. More...
class  Gecode::TupleSet::Data
 Data stored for a Table. More...
class  Gecode::TupleSet::Ranges
 Iterator over ranges. More...
class  Gecode::IntAFC
 Recording AFC information for integer variables. More...
class  Gecode::BoolAFC
 Recording AFC information for Boolean variables. More...
class  Gecode::IntAction
 Recording actions for integer variables. More...
class  Gecode::BoolAction
 Recording actions for Boolean variables. More...
class  Gecode::IntCHB
 Recording CHB for integer variables. More...
class  Gecode::BoolCHB
 Recording CHB for Boolean variables. More...
class  Gecode::IntVarBranch
 Which integer variable to select for branching. More...
class  Gecode::BoolVarBranch
 Which Boolean variable to select for branching. More...
class  Gecode::IntValBranch
 Which values to select for branching first. More...
class  Gecode::BoolValBranch
 Which values to select for branching first. More...
class  Gecode::IntAssign
 Which values to select for assignment. More...
class  Gecode::BoolAssign
 Which values to select for assignment. More...
class  Gecode::SymmetryHandle
 A reference-counted pointer to a SymmetryObject. More...
class  Gecode::ArrayTraits< ArgArray< SymmetryHandle > >
 Traits of Symmetries. More...
class  Gecode::Symmetries
 Collection of symmetries. More...
class  Gecode::IntTraceDelta
 Trace delta information for integer variables. More...
class  Gecode::BoolTraceDelta
 Trace delta information for Boolean variables. More...
class  Gecode::StdIntTracer
 Standard integer variable tracer. More...
class  Gecode::StdBoolTracer
 Standard Boolean variable tracer. More...

Namespaces

namespace  Gecode::Int
 

Finite domain integers.


namespace  Gecode
 

Gecode toplevel namespace


namespace  Gecode::Int::Limits
 

Numerical limits for integer variables.


namespace  Gecode::Int::LDSB
 

Symmetry breaking for integer variables.


Defines

#define GECODE_INT_EXPORT
#define GECODE_LIBRARY_NAME   "Int"

Typedefs

typedef ArgArray< IntSet > Gecode::IntSetArgs
 Passing set arguments.
typedef ArgArray< TaskType > Gecode::TaskTypeArgs
 Argument arrays for passing task type arguments.
typedef SharedArray< int > Gecode::IntSharedArray
 Arrays of integers that can be shared among several element constraints.
typedef std::function< bool(const
Space &home, IntVar x, int i)> 
Gecode::IntBranchFilter
 Branch filter function type for integer variables.
typedef std::function< bool(const
Space &home, BoolVar x, int i)> 
Gecode::BoolBranchFilter
 Branch filter function type for Boolean variables.
typedef std::function< double(const
Space &home, IntVar x, int i)> 
Gecode::IntBranchMerit
 Branch merit function type for integer variables.
typedef std::function< double(const
Space &home, BoolVar x, int i)> 
Gecode::BoolBranchMerit
 Branch merit function type for Boolean variables.
typedef std::function< int(const
Space &home, IntVar x, int i)> 
Gecode::IntBranchVal
 Branch value function type for integer variables.
typedef std::function< int(const
Space &home, BoolVar x, int i)> 
Gecode::BoolBranchVal
 Branch value function type for Boolean variables.
typedef std::function< void(Space
&home, unsigned int a, IntVar
x, int i, int n)> 
Gecode::IntBranchCommit
 Branch commit function type for integer variables.
typedef std::function< void(Space
&home, unsigned int a, BoolVar
x, int i, int n)> 
Gecode::BoolBranchCommit
 Branch commit function type for Boolean variables.
typedef std::function< void(const
Space &home, const Brancher &b,
unsigned int a, IntVar x, int
i, const int &n, std::ostream
&o)> 
Gecode::IntVarValPrint
 Function type for printing branching alternatives for integer variables.
typedef std::function< void(const
Space &home, const Brancher &b,
unsigned int a, BoolVar x, int
i, const int &n, std::ostream
&o)> 
Gecode::BoolVarValPrint
 Function type for printing branching alternatives for Boolean variables.
typedef ViewTracer< Int::IntView > Gecode::IntTracer
 Tracer for integer variables.
typedef ViewTraceRecorder
< Int::IntView > 
Gecode::IntTraceRecorder
 Trace recorder for integer variables.
typedef ViewTracer< Int::BoolView > Gecode::BoolTracer
 Tracer for Boolean variables.
typedef ViewTraceRecorder
< Int::BoolView > 
Gecode::BoolTraceRecorder
 Trace recorder for Boolean variables.

Enumerations

enum  Gecode::ReifyMode { Gecode::RM_EQV, Gecode::RM_IMP, Gecode::RM_PMI }
 

Mode for reification.

More...
enum  Gecode::IntRelType {
  Gecode::IRT_EQ, Gecode::IRT_NQ, Gecode::IRT_LQ, Gecode::IRT_LE,
  Gecode::IRT_GQ, Gecode::IRT_GR
}
 

Relation types for integers.

More...
enum  Gecode::BoolOpType {
  Gecode::BOT_AND, Gecode::BOT_OR, Gecode::BOT_IMP, Gecode::BOT_EQV,
  Gecode::BOT_XOR
}
 

Operation types for Booleans.

More...
enum  Gecode::IntPropLevel {
  Gecode::IPL_DEF = 0, Gecode::IPL_VAL = 1, Gecode::IPL_BND = 2, Gecode::IPL_DOM = 3,
  Gecode::IPL_BASIC = 4, Gecode::IPL_ADVANCED = 8, Gecode::IPL_BASIC_ADVANCED = IPL_BASIC | IPL_ADVANCED, Gecode::_IPL_BITS = 4
}
 

Propagation levels for integer propagators.

More...
enum  Gecode::TaskType { Gecode::TT_FIXP, Gecode::TT_FIXS, Gecode::TT_FIXE }
 

Type of task for scheduling constraints.

More...

Functions

bool Gecode::Int::Limits::valid (int n)
 Return whether n is in range.
bool Gecode::Int::Limits::valid (long long int n)
 Return whether n is in range.
void Gecode::Int::Limits::check (int n, const char *l)
 Check whether n is in range, otherwise throw out of limits with information l.
void Gecode::Int::Limits::check (long long int n, const char *l)
 Check whether n is in range, otherwise throw out of limits with information l.
void Gecode::Int::Limits::positive (int n, const char *l)
 Check whether n is in range and strictly positive, otherwise throw out of limits with information l.
void Gecode::Int::Limits::positive (long long int n, const char *l)
 Check whether n is in range and strictly positive, otherwise throw out of limits with information l.
void Gecode::Int::Limits::nonnegative (int n, const char *l)
 Check whether n is in range and nonnegative, otherwise throw out of limits with information l.
void Gecode::Int::Limits::nonnegative (long long int n, const char *l)
 Check whether n is in integer range and nonnegative, otherwise throw out of limits exception with information l.
bool Gecode::Int::Limits::overflow_add (int n, int m)
 Check whether adding n and m would overflow.
bool Gecode::Int::Limits::overflow_add (long long int n, long long int m)
 Check whether adding n and m would overflow.
bool Gecode::Int::Limits::overflow_sub (int n, int m)
 Check whether subtracting m from n would overflow.
bool Gecode::Int::Limits::overflow_sub (long long int n, long long int m)
 Check whether subtracting m from n would overflow.
bool Gecode::Int::Limits::overflow_mul (int n, int m)
 Check whether multiplying n and m would overflow.
bool Gecode::Int::Limits::overflow_mul (long long int n, long long int m)
 Check whether multiplying n and m would overflow.
Reify Gecode::eqv (BoolVar x)
 Use equivalence for reification.
Reify Gecode::imp (BoolVar x)
 Use implication for reification.
Reify Gecode::pmi (BoolVar x)
 Use reverse implication for reification.
IntRelType Gecode::swap (IntRelType irt)
 Return swapped relation type of irt.
IntRelType Gecode::neg (IntRelType irt)
 Return negated relation type of irt.
IntPropLevel Gecode::vbd (IntPropLevel ipl)
 Extract value, bounds, or domain propagation from propagation level.
IntPropLevel Gecode::ba (IntPropLevel ipl)
 Extract basic or advanced from propagation level.
void Gecode::dom (Home home, IntVar x, int n, IntPropLevel ipl=IPL_DEF)
 Propagates $x=n$.
void Gecode::dom (Home home, const IntVarArgs &x, int n, IntPropLevel ipl=IPL_DEF)
 Propagates $ x_i=n$ for all $0\leq i<|x|$.
void Gecode::dom (Home home, IntVar x, int l, int m, IntPropLevel ipl=IPL_DEF)
 Propagates $ l\leq x\leq m$.
void Gecode::dom (Home home, const IntVarArgs &x, int l, int m, IntPropLevel ipl=IPL_DEF)
 Propagates $ l\leq x_i\leq m$ for all $0\leq i<|x|$.
void Gecode::dom (Home home, IntVar x, const IntSet &s, IntPropLevel ipl=IPL_DEF)
 Propagates $ x\in s $.
void Gecode::dom (Home home, const IntVarArgs &x, const IntSet &s, IntPropLevel ipl=IPL_DEF)
 Propagates $ x_i\in s$ for all $0\leq i<|x|$.
void Gecode::dom (Home home, IntVar x, int n, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ (x=n) \equiv r$.
void Gecode::dom (Home home, IntVar x, int l, int m, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ (l\leq x \leq m) \equiv r$.
void Gecode::dom (Home home, IntVar x, const IntSet &s, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ (x \in s) \equiv r$.
void Gecode::dom (Home home, IntVar x, IntVar d, IntPropLevel ipl=IPL_DEF)
 Constrain domain of x according to domain of d.
void Gecode::dom (Home home, BoolVar x, BoolVar d, IntPropLevel ipl=IPL_DEF)
 Constrain domain of x according to domain of d.
void Gecode::dom (Home home, const IntVarArgs &x, const IntVarArgs &d, IntPropLevel ipl=IPL_DEF)
 Constrain domain of $ x_i $ according to domain of $ d_i $ for all $0\leq i<|x|$.
void Gecode::dom (Home home, const BoolVarArgs &x, const BoolVarArgs &d, IntPropLevel ipl=IPL_DEF)
 Constrain domain of $ x_i $ according to domain of $ d_i $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, IntVar x0, IntRelType irt, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_0 \sim_{irt} x_1$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, IntVar x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF)
 Propagates $ x \sim_{irt} c$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF)
 Propagates $ x_i \sim_{irt} c $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, IntVar x0, IntRelType irt, IntVar x1, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ (x_0 \sim_{irt} x_1)\equiv r$.
void Gecode::rel (Home home, IntVar x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $(x \sim_{irt} c)\equiv r$.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, IntPropLevel ipl=IPL_DEF)
 Post propagator for relation among elements in x.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post propagator for relation between x and y.
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, const IntArgs &y, IntPropLevel ipl=IPL_DEF)
 Post propagator for relation between x and y.
void Gecode::rel (Home home, const IntArgs &x, IntRelType irt, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post propagator for relation between x and y.
void Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ x_0 \sim_{irt} x_1$.
void Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $(x_0 \sim_{irt} x_1)\equiv r$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, BoolVar y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, IntPropLevel ipl=IPL_DEF)
 Propagates $ x \sim_{irt} n$.
void Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $(x \sim_{irt} n)\equiv r$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, int n, IntPropLevel ipl=IPL_DEF)
 Propagates $ x_i \sim_{irt} n $ for all $0\leq i<|x|$.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, const BoolVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for relation between x and y.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, const IntArgs &y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for relation between x and y.
void Gecode::rel (Home home, const IntArgs &x, IntRelType irt, const BoolVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for relation between x and y.
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for relation between elements in x.
void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean operation on x0 and x1.
void Gecode::rel (Home home, BoolVar x0, BoolOpType o, BoolVar x1, int n, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean operation on x0 and x1.
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, BoolVar z, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.
void Gecode::clause (Home home, BoolOpType o, const BoolVarArgs &x, const BoolVarArgs &y, int n, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for Boolean clause with positive variables x and negative variables y.
void Gecode::ite (Home home, BoolVar b, IntVar x, IntVar y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for if-then-else constraint.
void Gecode::ite (Home home, BoolVar b, BoolVar x, BoolVar y, BoolVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for if-then-else constraint.
void Gecode::precede (Home home, const IntVarArgs &x, int s, int t, IntPropLevel=IPL_DEF)
 Post propagator that s precedes t in x.
void Gecode::precede (Home home, const IntVarArgs &x, const IntArgs &c, IntPropLevel=IPL_DEF)
 Post propagator that successive values in c precede each other in x.
void Gecode::member (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $y\in \{x_0,\ldots,x_{|x|-1}\}$.
void Gecode::member (Home home, const BoolVarArgs &x, BoolVar y, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $y\in \{x_0,\ldots,x_{|x|-1}\}$.
void Gecode::member (Home home, const IntVarArgs &x, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r$.
void Gecode::member (Home home, const BoolVarArgs &x, BoolVar y, Reify r, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r$.
void Gecode::element (Home home, IntSharedArray n, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void Gecode::element (Home home, IntSharedArray n, IntVar x0, BoolVar x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void Gecode::element (Home home, IntSharedArray n, IntVar x0, int x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void Gecode::element (Home home, const IntVarArgs &x, IntVar y0, IntVar y1, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_{y_0}=y_1$.
void Gecode::element (Home home, const IntVarArgs &x, IntVar y0, int y1, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_{y_0}=y_1$.
void Gecode::element (Home home, const BoolVarArgs &x, IntVar y0, BoolVar y1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ x_{y_0}=y_1$.
void Gecode::element (Home home, const BoolVarArgs &x, IntVar y0, int y1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ x_{y_0}=y_1$.
void Gecode::element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$.
void Gecode::element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, BoolVar z, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$.
void Gecode::element (Home home, const IntVarArgs &a, IntVar x, int w, IntVar y, int h, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ a_{x+w\cdot y}=z$.
void Gecode::element (Home home, const BoolVarArgs &a, IntVar x, int w, IntVar y, int h, BoolVar z, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$.
void Gecode::distinct (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_i\neq x_j$ for all $0\leq i\neq j<|x|$.
void Gecode::distinct (Home home, const IntArgs &n, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_i+n_i\neq x_j+n_j$ for all $0\leq i\neq j<|x|$.
void Gecode::distinct (Home home, const BoolVarArgs &b, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ b_i=1\wedge b_j=1\to x_i\neq x_j$ for all $0\leq i\neq j<|x|$.
void Gecode::distinct (Home home, const IntVarArgs &x, int c, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_i=c\vee x_j=c\vee x_i\neq x_j$ for all $0\leq i\neq j<|x|$.
void Gecode::channel (Home home, const IntVarArgs &x, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_i = j\leftrightarrow y_j=i$ for all $0\leq i<|x|$.
void Gecode::channel (Home home, const IntVarArgs &x, int xoff, const IntVarArgs &y, int yoff, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i$ for all $0\leq i<|x|$.
void Gecode::channel (Home home, BoolVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for channeling a Boolean and an integer variable $ x_0 = x_1$.
void Gecode::channel (Home home, IntVar x0, BoolVar x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for channeling an integer and a Boolean variable $ x_0 = x_1$.
void Gecode::channel (Home home, const BoolVarArgs &x, IntVar y, int o=0, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for channeling Boolean and integer variables $ x_i = 1\leftrightarrow y=i+o$.
void Gecode::sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post propagator that y is x sorted in increasing order.
void Gecode::sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, const IntVarArgs &z, IntPropLevel ipl=IPL_DEF)
 Post propagator that y is x sorted in increasing order.
void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} m$.
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} m$.
void Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} m$.
void Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} m$.
void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} z$.
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} z$.
void Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} z$.
void Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} z$.
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntPropLevel ipl=IPL_DEF)
 Posts a global count (cardinality) constraint.
void Gecode::nvalues (Home home, const IntVarArgs &x, IntRelType irt, int y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$.
void Gecode::nvalues (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$.
void Gecode::nvalues (Home home, const BoolVarArgs &x, IntRelType irt, int y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$.
void Gecode::nvalues (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$.
void Gecode::sequence (Home home, const IntVarArgs &x, const IntSet &s, int q, int l, int u, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\operatorname{sequence}(x,s,q,l,u)$.
void Gecode::sequence (Home home, const BoolVarArgs &x, const IntSet &s, int q, int l, int u, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\operatorname{sequence}(x,s,q,l,u)$.
void Gecode::extensional (Home home, const IntVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for extensional constraint described by a DFA.
void Gecode::extensional (Home home, const BoolVarArgs &x, DFA d, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for extensional constraint described by a DFA.
void Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x\in t$.
void Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x\in t$ or $x\not\in t$.
void Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $(x\in t)\equiv r$.
void Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $(x\in t)\equiv r$ or $(x\not\in t)\equiv r$.
void Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x\in t$.
void Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x\in t$ or $x\not\in t$.
void Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $(x\in t)\equiv r$.
void Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, bool pos, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $(x\in t)\equiv r$ or $(x\not\in t)\equiv r$.
void Gecode::min (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \min\{x_0,x_1\}=x_2$.
void Gecode::min (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \min x=y$.
void Gecode::max (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \max\{x_0,x_1\}=x_2$.
void Gecode::max (Home home, const IntVarArgs &x, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \max x=y$.
void Gecode::argmin (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \operatorname{argmin}(x)=y$.
void Gecode::argmin (Home home, const IntVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \operatorname{argmin}(x)+o=y$.
void Gecode::argmax (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \operatorname{argmax}(x)=y$.
void Gecode::argmax (Home home, const IntVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \operatorname{argmax}(x)+o=y$.
void Gecode::argmin (Home home, const BoolVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \operatorname{argmin}(x)=y$.
void Gecode::argmin (Home home, const BoolVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \operatorname{argmin}(x)-o=y$.
void Gecode::argmax (Home home, const BoolVarArgs &x, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \operatorname{argmax}(x)=y$.
void Gecode::argmax (Home home, const BoolVarArgs &x, int o, IntVar y, bool tiebreak=true, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ \operatorname{argmax}(x)-o=y$.
void Gecode::abs (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ |x_0|=x_1$.
void Gecode::mult (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x_0\cdot x_1=x_2$.
void Gecode::divmod (Home home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x_0\ \mathrm{div}\ x_1=x_2 \land x_0\ \mathrm{mod}\ x_1 = x_3$.
void Gecode::div (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x_0\ \mathrm{div}\ x_1=x_2$.
void Gecode::mod (Home home, IntVar x0, IntVar x1, IntVar x2, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x_0\ \mathrm{mod}\ x_1=x_2$.
void Gecode::sqr (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x_0^2=x_1$.
void Gecode::sqrt (Home home, IntVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\lfloor\sqrt{x_0}\rfloor=x_1$.
void Gecode::pow (Home home, IntVar x0, int n, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post propagator for $x_0^n=x_1$.
void Gecode::nroot (Home home, IntVar x0, int n, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\lfloor\sqrt[n]{x_0}\rfloor=x_1$.
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} c$.
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} y$.
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r$.
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r$.
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c$.
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y$.
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r$.
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r$.
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} c$.
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r$.
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} y$.
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r$.
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c$.
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r$.
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y$.
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntPropLevel ipl=IPL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r$.
void Gecode::binpacking (Home home, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, IntPropLevel ipl=IPL_DEF)
 Post propagator for bin packing.
IntSet Gecode::binpacking (Home home, int d, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, const IntArgs &c, IntPropLevel)
void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntPropLevel ipl=IPL_DEF)
 Post propagator for rectangle packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, const BoolVarArgs &o, IntPropLevel ipl=IPL_DEF)
 Post propagator for rectangle packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, IntPropLevel ipl=IPL_DEF)
 Post propagator for rectangle packing.
void Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, const BoolVarArgs &o, IntPropLevel ipl=IPL_DEF)
 Post propagator for rectangle packing.
void Gecode::order (Home home, IntVar s0, int p0, IntVar s1, int p1, BoolVar b, IntPropLevel ipl=IPL_DEF)
 Post propagators for ordering two tasks.
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint.
void Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on unary resources.
void Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on unary resources.
void Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on unary resources.
void Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on unary resources.
void Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on unary resources.
void Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on unary resources.
void Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling tasks on cumulative resources.
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl=IPL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources.
void Gecode::circuit (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit.
void Gecode::circuit (Home home, int offset, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit.
void Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit with costs y and z.
void Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit with costs y and z.
void Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit with cost z.
void Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit with cost z.
void Gecode::path (Home home, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path.
void Gecode::path (Home home, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path.
void Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path with costs y and z.
void Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path with costs y and z.
void Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path with cost z.
void Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path with cost z.
void Gecode::wait (Home home, IntVar x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF)
 Execute c when x becomes assigned.
void Gecode::wait (Home home, BoolVar x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF)
 Execute c when x becomes assigned.
void Gecode::wait (Home home, const IntVarArgs &x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF)
 Execute c when all variables in x become assigned.
void Gecode::wait (Home home, const BoolVarArgs &x, std::function< void(Space &home)> c, IntPropLevel ipl=IPL_DEF)
 Execute c when all variables in x become assigned.
void Gecode::when (Home home, BoolVar x, std::function< void(Space &home)> t, std::function< void(Space &home)> e, IntPropLevel ipl=IPL_DEF)
 Execute t (then) when x is assigned one, and e (else) otherwise.
void Gecode::when (Home home, BoolVar x, std::function< void(Space &home)> t, IntPropLevel ipl=IPL_DEF)
 Execute t (then) when x is assigned one.
void Gecode::unshare (Home home, IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Replace multiple variable occurences in x by fresh variables.
void Gecode::unshare (Home home, BoolVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Replace multiple variable occurences in x by fresh variables.
IntVarBranch Gecode::INT_VAR_NONE (void)
 Select first unassigned variable.
IntVarBranch Gecode::INT_VAR_RND (Rnd r)
 Select random variable (uniform distribution, for tie breaking).
IntVarBranch Gecode::INT_VAR_MERIT_MIN (IntBranchMerit bm, BranchTbl tbl=nullptr)
 Select variable with least merit according to branch merit function bm.
IntVarBranch Gecode::INT_VAR_MERIT_MAX (IntBranchMerit bm, BranchTbl tbl=nullptr)
 Select variable with highest merit according to branch merit function bm.
IntVarBranch Gecode::INT_VAR_DEGREE_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest degree.
IntVarBranch Gecode::INT_VAR_DEGREE_MAX (BranchTbl tbl=nullptr)
 Select variable with largest degree.
IntVarBranch Gecode::INT_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with smallest accumulated failure count with decay factor d.
IntVarBranch Gecode::INT_VAR_AFC_MIN (IntAFC a, BranchTbl tbl=nullptr)
 Select variable with smallest accumulated failure count.
IntVarBranch Gecode::INT_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with largest accumulated failure count with decay factor d.
IntVarBranch Gecode::INT_VAR_AFC_MAX (IntAFC a, BranchTbl tbl=nullptr)
 Select variable with largest accumulated failure count.
IntVarBranch Gecode::INT_VAR_ACTION_MIN (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with lowest action with decay factor d.
IntVarBranch Gecode::INT_VAR_ACTION_MIN (IntAction a, BranchTbl tbl=nullptr)
 Select variable with lowest action.
IntVarBranch Gecode::INT_VAR_ACTION_MAX (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with highest action with decay factor d.
IntVarBranch Gecode::INT_VAR_ACTION_MAX (IntAction a, BranchTbl tbl=nullptr)
 Select variable with highest action.
IntVarBranch Gecode::INT_VAR_CHB_MIN (IntCHB c, BranchTbl tbl=nullptr)
 Select variable with lowest CHB Q-score.
IntVarBranch Gecode::INT_VAR_CHB_MIN (BranchTbl tbl=nullptr)
 Select variable with lowest CHB Q-score.
IntVarBranch Gecode::INT_VAR_CHB_MAX (IntCHB c, BranchTbl tbl=nullptr)
 Select variable with largest CHB Q-score.
IntVarBranch Gecode::INT_VAR_CHB_MAX (BranchTbl tbl=nullptr)
 Select variable with largest CHB Q-score.
IntVarBranch Gecode::INT_VAR_MIN_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest min.
IntVarBranch Gecode::INT_VAR_MIN_MAX (BranchTbl tbl=nullptr)
 Select variable with largest min.
IntVarBranch Gecode::INT_VAR_MAX_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest max.
IntVarBranch Gecode::INT_VAR_MAX_MAX (BranchTbl tbl=nullptr)
 Select variable with largest max.
IntVarBranch Gecode::INT_VAR_SIZE_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest domain size.
IntVarBranch Gecode::INT_VAR_SIZE_MAX (BranchTbl tbl=nullptr)
 Select variable with largest domain size.
IntVarBranch Gecode::INT_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest degree divided by domain size.
IntVarBranch Gecode::INT_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=nullptr)
 Select variable with largest degree divided by domain size.
IntVarBranch Gecode::INT_VAR_AFC_SIZE_MIN (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with smallest accumulated failure count divided by domain size with decay factor d.
IntVarBranch Gecode::INT_VAR_AFC_SIZE_MIN (IntAFC a, BranchTbl tbl=nullptr)
 Select variable with smallest accumulated failure count divided by domain size.
IntVarBranch Gecode::INT_VAR_AFC_SIZE_MAX (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with largest accumulated failure count divided by domain size with decay factor d.
IntVarBranch Gecode::INT_VAR_AFC_SIZE_MAX (IntAFC a, BranchTbl tbl=nullptr)
 Select variable with largest accumulated failure count divided by domain size.
IntVarBranch Gecode::INT_VAR_ACTION_SIZE_MIN (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with smallest action divided by domain size with decay factor d.
IntVarBranch Gecode::INT_VAR_ACTION_SIZE_MIN (IntAction a, BranchTbl tbl=nullptr)
 Select variable with smallest action divided by domain size.
IntVarBranch Gecode::INT_VAR_ACTION_SIZE_MAX (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with largest action divided by domain size with decay factor d.
IntVarBranch Gecode::INT_VAR_ACTION_SIZE_MAX (IntAction a, BranchTbl tbl=nullptr)
 Select variable with largest action divided by domain size.
IntVarBranch Gecode::INT_VAR_CHB_SIZE_MIN (IntCHB c, BranchTbl tbl=nullptr)
 Select variable with smallest CHB Q-score divided by domain size.
IntVarBranch Gecode::INT_VAR_CHB_SIZE_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest CHB Q-score divided by domain size.
IntVarBranch Gecode::INT_VAR_CHB_SIZE_MAX (IntCHB c, BranchTbl tbl=nullptr)
 Select variable with largest CHB Q-score divided by domain size.
IntVarBranch Gecode::INT_VAR_CHB_SIZE_MAX (BranchTbl tbl=nullptr)
 Select variable with largest CHB Q-score divided by domain size.
IntVarBranch Gecode::INT_VAR_REGRET_MIN_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest min-regret.
IntVarBranch Gecode::INT_VAR_REGRET_MIN_MAX (BranchTbl tbl=nullptr)
 Select variable with largest min-regret.
IntVarBranch Gecode::INT_VAR_REGRET_MAX_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest max-regret.
IntVarBranch Gecode::INT_VAR_REGRET_MAX_MAX (BranchTbl tbl=nullptr)
 Select variable with largest max-regret.
BoolVarBranch Gecode::BOOL_VAR_NONE (void)
 Select first unassigned variable.
BoolVarBranch Gecode::BOOL_VAR_RND (Rnd r)
 Select random variable (uniform distribution, for tie breaking).
BoolVarBranch Gecode::BOOL_VAR_MERIT_MIN (BoolBranchMerit bm, BranchTbl tbl=nullptr)
 Select variable with least merit according to branch merit function bm.
BoolVarBranch Gecode::BOOL_VAR_MERIT_MAX (BoolBranchMerit bm, BranchTbl tbl=nullptr)
 Select variable with highest merit according to branch merit function bm.
BoolVarBranch Gecode::BOOL_VAR_DEGREE_MIN (BranchTbl tbl=nullptr)
 Select variable with smallest degree.
BoolVarBranch Gecode::BOOL_VAR_DEGREE_MAX (BranchTbl tbl=nullptr)
 Select variable with largest degree.
BoolVarBranch Gecode::BOOL_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with smallest accumulated failure count with decay factor d.
BoolVarBranch Gecode::BOOL_VAR_AFC_MIN (BoolAFC a, BranchTbl tbl=nullptr)
 Select variable with smallest accumulated failure count.
BoolVarBranch Gecode::BOOL_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with largest accumulated failure count with decay factor d.
BoolVarBranch Gecode::BOOL_VAR_AFC_MAX (BoolAFC a, BranchTbl tbl=nullptr)
 Select variable with largest accumulated failure count.
BoolVarBranch Gecode::BOOL_VAR_ACTION_MIN (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with lowest action with decay factor d.
BoolVarBranch Gecode::BOOL_VAR_ACTION_MIN (BoolAction a, BranchTbl tbl=nullptr)
 Select variable with lowest action.
BoolVarBranch Gecode::BOOL_VAR_ACTION_MAX (double d=1.0, BranchTbl tbl=nullptr)
 Select variable with highest action with decay factor d.
BoolVarBranch Gecode::BOOL_VAR_ACTION_MAX (BoolAction a, BranchTbl tbl=nullptr)
 Select variable with highest action.
BoolVarBranch Gecode::BOOL_VAR_CHB_MIN (BoolCHB c, BranchTbl tbl=nullptr)
 Select variable with lowest CHB Q-score.
BoolVarBranch Gecode::BOOL_VAR_CHB_MIN (BranchTbl tbl=nullptr)
 Select variable with lowest CHB Q-score.
BoolVarBranch Gecode::BOOL_VAR_CHB_MAX (BoolCHB c, BranchTbl tbl=nullptr)
 Select variable with largest CHB Q-score.
BoolVarBranch Gecode::BOOL_VAR_CHB_MAX (BranchTbl tbl=nullptr)
 Select variable with largest CHB Q-score.
IntValBranch Gecode::INT_VAL_MIN (void)
 Select smallest value.
IntValBranch Gecode::INT_VAL_MED (void)
 Select greatest value not greater than the median.
IntValBranch Gecode::INT_VAL_MAX (void)
 Select largest value.
IntValBranch Gecode::INT_VAL_RND (Rnd r)
 Select random value.
IntValBranch Gecode::INT_VAL_SPLIT_MIN (void)
 Select values not greater than mean of smallest and largest value.
IntValBranch Gecode::INT_VAL_SPLIT_MAX (void)
 Select values greater than mean of smallest and largest value.
IntValBranch Gecode::INT_VAL_RANGE_MIN (void)
 Select the smallest range of the variable domain if it has several ranges, otherwise select values not greater than mean of smallest and largest value.
IntValBranch Gecode::INT_VAL_RANGE_MAX (void)
 Select the largest range of the variable domain if it has several ranges, otherwise select values greater than mean of smallest and largest value.
IntValBranch Gecode::INT_VAL (IntBranchVal v, IntBranchCommit c=nullptr)
 Select value as defined by the value function v and commit function c Uses a commit function as default that posts the constraints that a variable x must be equal to a value n for the first alternative and that x must be different from n for the second alternative.
IntValBranch Gecode::INT_VALUES_MIN (void)
 Try all values starting from smallest.
IntValBranch Gecode::INT_VALUES_MAX (void)
 Try all values starting from largest.
BoolValBranch Gecode::BOOL_VAL_MIN (void)
 Select smallest value.
BoolValBranch Gecode::BOOL_VAL_MAX (void)
 Select largest value.
BoolValBranch Gecode::BOOL_VAL_RND (Rnd r)
 Select random value.
BoolValBranch Gecode::BOOL_VAL (BoolBranchVal v, BoolBranchCommit c=nullptr)
 Select value as defined by the value function v and commit function c Uses a commit function as default that posts the constraints that a variable x must be equal to a value n for the first alternative and that x must be different from n for the second alternative.
IntAssign Gecode::INT_ASSIGN_MIN (void)
 Select smallest value.
IntAssign Gecode::INT_ASSIGN_MED (void)
 Select greatest value not greater than the median.
IntAssign Gecode::INT_ASSIGN_MAX (void)
 Select largest value.
IntAssign Gecode::INT_ASSIGN_RND (Rnd r)
 Select random value.
IntAssign Gecode::INT_ASSIGN (IntBranchVal v, IntBranchCommit c=nullptr)
 Select value as defined by the value function v and commit function c.
BoolAssign Gecode::BOOL_ASSIGN_MIN (void)
 Select smallest value.
BoolAssign Gecode::BOOL_ASSIGN_MAX (void)
 Select largest value.
BoolAssign Gecode::BOOL_ASSIGN_RND (Rnd r)
 Select random value.
BoolAssign Gecode::BOOL_ASSIGN (BoolBranchVal v, BoolBranchCommit c=nullptr)
 Select value as defined by the value function v and commit function c.
void Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals.
void Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void Gecode::branch (Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=nullptr)
 Branch over x with value selection vals.
void Gecode::branch (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals.
void Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void Gecode::branch (Home home, BoolVar x, BoolValBranch vals, BoolVarValPrint vvp=nullptr)
 Branch over x with value selection vals.
void Gecode::assign (Home home, const IntVarArgs &x, IntVarBranch vars, IntAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Assign all x with variable selection vars with value selection vals.
void Gecode::assign (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Assign all x with tie-breaking variable selection vars and value selection vals.
void Gecode::assign (Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=nullptr)
 Assign x with value selection vals.
void Gecode::assign (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolAssign vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Assign all x with variable selection vars with value selection vals.
void Gecode::assign (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Assign all x with tie-breaking variable selection vars and value selection vals.
void Gecode::assign (Home home, BoolVar x, BoolAssign vals, BoolVarValPrint vvp=nullptr)
 Assign x with value selection vals.
void Gecode::branch (Home home, const IntVarArgs &x, IntValBranch vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with value selection vals.
void Gecode::branch (Home home, const BoolVarArgs &x, BoolValBranch vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with value selection vals.
void Gecode::assign (Home home, const IntVarArgs &x, IntAssign vals, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Assign all x with value selection vals.
void Gecode::assign (Home home, const BoolVarArgs &x, BoolAssign vals, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Assign all x with value selection vals.
SymmetryHandle Gecode::VariableSymmetry (const IntVarArgs &x)
 Variables in x are interchangeable.
SymmetryHandle Gecode::VariableSymmetry (const BoolVarArgs &x)
 Variables in x are interchangeable.
SymmetryHandle Gecode::VariableSymmetry (const IntVarArgs &x, const IntArgs &indices)
 Specified variables in x are interchangeable.
SymmetryHandle Gecode::ValueSymmetry (const IntArgs &v)
 Values in v are interchangeable.
SymmetryHandle Gecode::ValueSymmetry (const IntSet &v)
 Values in v are interchangeable.
SymmetryHandle Gecode::ValueSymmetry (IntVar vars)
 All values in the domain of the given variable are interchangeable.
SymmetryHandle Gecode::VariableSequenceSymmetry (const IntVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable.
SymmetryHandle Gecode::VariableSequenceSymmetry (const BoolVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable.
SymmetryHandle Gecode::ValueSequenceSymmetry (const IntArgs &v, int ss)
 Value sequences in v of size ss are interchangeable.
SymmetryHandle Gecode::values_reflect (int lower, int upper)
 The values from lower to upper (inclusive) can be reflected.
SymmetryHandle Gecode::values_reflect (IntVar x)
 The values in the domain of can be reflected.
void Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals with symmetry breaking.
void Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=nullptr, IntVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
void Gecode::branch (Home home, const BoolVarArgs &x, BoolVarBranch vars, BoolValBranch vals, const Symmetries &syms, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with variable selection vars and value selection vals with symmetry breaking.
void Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< BoolVarBranch > vars, BoolValBranch vals, const Symmetries &syms, BoolBranchFilter bf=nullptr, BoolVarValPrint vvp=nullptr)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
void Gecode::relax (Home home, const IntVarArgs &x, const IntVarArgs &sx, Rnd r, double p)
void Gecode::relax (Home home, const BoolVarArgs &x, const BoolVarArgs &sx, Rnd r, double p)
void Gecode::trace (Home home, const IntVarArgs &x, TraceFilter tf, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), IntTracer &t=StdIntTracer::def)
 Create a tracer for integer variables.
void Gecode::trace (Home home, const IntVarArgs &x, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), IntTracer &t=StdIntTracer::def)
 Create a tracer for integer variables.
void Gecode::trace (Home home, const BoolVarArgs &x, TraceFilter tf, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), BoolTracer &t=StdBoolTracer::def)
 Create a tracer for Boolean Variables.
void Gecode::trace (Home home, const BoolVarArgs &x, int te=(TE_INIT|TE_PRUNE|TE_FIX|TE_FAIL|TE_DONE), BoolTracer &t=StdBoolTracer::def)
 Create a tracer for Boolean Variables.

Variables

const int Gecode::Int::Limits::max = INT_MAX - 1
 Largest allowed integer value.
const int Gecode::Int::Limits::min = -max
 Smallest allowed integer value.
const int Gecode::Int::Limits::infinity = max + 1
 Infinity for integers.
const long long int Gecode::Int::Limits::llmax = LLONG_MAX - 1
 Largest allowed long long integer value.
const long long int Gecode::Int::Limits::llmin = -llmax
 Smallest allowed long long integer value.
const long long int Gecode::Int::Limits::llinfinity = llmax + 1
 Infinity for long long integers.

Define Documentation

#define GECODE_INT_EXPORT

Definition at line 81 of file int.hh.

#define GECODE_LIBRARY_NAME   "Int"

Definition at line 88 of file int.hh.