Generated on Sat Feb 7 2015 02:01:33 for Gecode by doxygen 1.8.9.1
int.hh File Reference

(Revision: 14362)

Go to the source code of this file.

Classes

class  Gecode::IntSetInit< I >
 Integer set initialization. More...
 
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< PrimArgArray< 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::TupleSetI
 Data stored for a Table. More...
 
class  Gecode::IntAFC
 Recording AFC information for integer and Boolean variables. More...
 
class  Gecode::IntActivity
 Recording activities for integer and Boolean variables. More...
 
class  Gecode::IntVarBranch
 Which variable to select for branching. More...
 
class  Gecode::IntValBranch
 Which values to select for branching first. More...
 
class  Gecode::IntAssign
 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...
 

Namespaces

 Gecode::Int
 Finite domain integers.
 
 Gecode
 Gecode toplevel namespace
 
 Gecode::Int::Limits
 Numerical limits for integer variables.
 
 Gecode::Int::LDSB
 Symmetry breaking for integer variables.
 

Macros

#define GECODE_INT_EXPORT
 
#define GECODE_LIBRARY_NAME   "Int"
 

Typedefs

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

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::IntConLevel { Gecode::ICL_VAL, Gecode::ICL_BND, Gecode::ICL_DOM, Gecode::ICL_DEF }
 Consistency levels for integer propagators. More...
 
enum  Gecode::TaskType { Gecode::TT_FIXP, Gecode::TT_FIXS, Gecode::TT_FIXE }
 Type of task for scheduling constraints. More...
 
enum  Gecode::ExtensionalPropKind { Gecode::EPK_DEF, Gecode::EPK_SPEED, Gecode::EPK_MEMORY }
 Extensional propagation kind. More...
 

Functions

bool Gecode::Int::Limits::valid (int n)
 Return whether n is in range. More...
 
bool Gecode::Int::Limits::valid (long long int n)
 Return whether n is in range. More...
 
void Gecode::Int::Limits::check (int n, const char *l)
 Check whether n is in range, otherwise throw out of limits with information l. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
bool Gecode::Int::Limits::overflow_add (int n, int m)
 Check whether adding n and m would overflow. More...
 
bool Gecode::Int::Limits::overflow_add (long long int n, long long int m)
 Check whether adding n and m would overflow. More...
 
bool Gecode::Int::Limits::overflow_sub (int n, int m)
 Check whether subtracting m from n would overflow. More...
 
bool Gecode::Int::Limits::overflow_sub (long long int n, long long int m)
 Check whether subtracting m from n would overflow. More...
 
bool Gecode::Int::Limits::overflow_mul (int n, int m)
 Check whether multiplying n and m would overflow. More...
 
bool Gecode::Int::Limits::overflow_mul (long long int n, long long int m)
 Check whether multiplying n and m would overflow. More...
 
Reify Gecode::eqv (BoolVar x)
 Use equivalence for reification. More...
 
Reify Gecode::imp (BoolVar x)
 Use implication for reification. More...
 
Reify Gecode::pmi (BoolVar x)
 Use reverse implication for reification. More...
 
void Gecode::dom (Home home, IntVar x, int n, IntConLevel icl=ICL_DEF)
 Propagates $x=n$. More...
 
void Gecode::dom (Home home, const IntVarArgs &x, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x_i=n$ for all $0\leq i<|x|$. More...
 
void Gecode::dom (Home home, IntVar x, int l, int m, IntConLevel icl=ICL_DEF)
 Propagates $ l\leq x\leq m$. More...
 
void Gecode::dom (Home home, const IntVarArgs &x, int l, int m, IntConLevel icl=ICL_DEF)
 Propagates $ l\leq x_i\leq m$ for all $0\leq i<|x|$. More...
 
void Gecode::dom (Home home, IntVar x, const IntSet &s, IntConLevel icl=ICL_DEF)
 Propagates $ x\in s $. More...
 
void Gecode::dom (Home home, const IntVarArgs &x, const IntSet &s, IntConLevel icl=ICL_DEF)
 Propagates $ x_i\in s$ for all $0\leq i<|x|$. More...
 
void Gecode::dom (Home home, IntVar x, int n, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (x=n) \equiv r$. More...
 
void Gecode::dom (Home home, IntVar x, int l, int m, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (l\leq x \leq m) \equiv r$. More...
 
void Gecode::dom (Home home, IntVar x, const IntSet &s, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (x \in s) \equiv r$. More...
 
void Gecode::dom (Home home, IntVar x, IntVar d, IntConLevel icl=ICL_DEF)
 Constrain domain of x according to domain of d. More...
 
void Gecode::dom (Home home, BoolVar x, BoolVar d, IntConLevel icl=ICL_DEF)
 Constrain domain of x according to domain of d. More...
 
void Gecode::dom (Home home, const IntVarArgs &x, const IntVarArgs &d, IntConLevel icl=ICL_DEF)
 Constrain domain of $ x_i $ according to domain of $ d_i $ for all $0\leq i<|x|$. More...
 
void Gecode::dom (Home home, const BoolVarArgs &x, const BoolVarArgs &d, IntConLevel icl=ICL_DEF)
 Constrain domain of $ x_i $ according to domain of $ d_i $ for all $0\leq i<|x|$. More...
 
void Gecode::rel (Home home, IntVar x0, IntRelType irt, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_0 \sim_{irt} x_1$. More...
 
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$. More...
 
void Gecode::rel (Home home, IntVar x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_{irt} c$. More...
 
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_{irt} c $ for all $0\leq i<|x|$. More...
 
void Gecode::rel (Home home, IntVar x0, IntRelType irt, IntVar x1, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $ (x_0 \sim_{irt} x_1)\equiv r$. More...
 
void Gecode::rel (Home home, IntVar x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $(x \sim_{irt} c)\equiv r$. More...
 
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, IntConLevel icl=ICL_DEF)
 Post propagator for relation among elements in x. More...
 
void Gecode::rel (Home home, const IntVarArgs &x, IntRelType irt, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for relation between x and y. More...
 
void Gecode::rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_0 \sim_{irt} x_1$. More...
 
void Gecode::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$. More...
 
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, BoolVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$. More...
 
void Gecode::rel (Home home, BoolVar x, IntRelType irt, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_{irt} n$. More...
 
void Gecode::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$. More...
 
void Gecode::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|$. More...
 
void Gecode::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. More...
 
void Gecode::rel (Home home, const BoolVarArgs &x, IntRelType irt, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between elements in x. More...
 
void Gecode::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. More...
 
void Gecode::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. More...
 
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x. More...
 
void Gecode::rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x. More...
 
void Gecode::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. More...
 
void Gecode::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. More...
 
void Gecode::ite (Home home, BoolVar b, IntVar x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for if-then-else constraint. More...
 
void Gecode::precede (Home home, const IntVarArgs &x, int s, int t, IntConLevel=ICL_DEF)
 Post propagator that s precedes t in x. More...
 
void Gecode::precede (Home home, const IntVarArgs &x, const IntArgs &c, IntConLevel=ICL_DEF)
 Post propagator that successive values in c precede each other in x. More...
 
void Gecode::member (Home home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $y\in \{x_0,\ldots,x_{|x|-1}\}$. More...
 
void Gecode::member (Home home, const BoolVarArgs &x, BoolVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $y\in \{x_0,\ldots,x_{|x|-1}\}$. More...
 
void Gecode::member (Home home, const IntVarArgs &x, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r$. More...
 
void Gecode::member (Home home, const BoolVarArgs &x, BoolVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r$. More...
 
void Gecode::element (Home home, IntSharedArray n, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$. More...
 
void Gecode::element (Home home, IntSharedArray n, IntVar x0, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$. More...
 
void Gecode::element (Home home, IntSharedArray n, IntVar x0, int x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$. More...
 
void Gecode::element (Home home, const IntVarArgs &x, IntVar y0, IntVar y1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_{y_0}=y_1$. More...
 
void Gecode::element (Home home, const IntVarArgs &x, IntVar y0, int y1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_{y_0}=y_1$. More...
 
void Gecode::element (Home home, const BoolVarArgs &x, IntVar y0, BoolVar y1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_{y_0}=y_1$. More...
 
void Gecode::element (Home home, const BoolVarArgs &x, IntVar y0, int y1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_{y_0}=y_1$. More...
 
void Gecode::element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, IntVar z, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$. More...
 
void Gecode::element (Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, BoolVar z, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$. More...
 
void Gecode::element (Home home, const IntVarArgs &a, IntVar x, int w, IntVar y, int h, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $ a_{x+w\cdot y}=z$. More...
 
void Gecode::element (Home home, const BoolVarArgs &a, IntVar x, int w, IntVar y, int h, BoolVar z, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ a_{x+w\cdot y}=z$. More...
 
void Gecode::distinct (Home home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i\neq x_j$ for all $0\leq i\neq j<|x|$. More...
 
void Gecode::distinct (Home home, const IntArgs &n, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i+n_i\neq x_j+n_j$ for all $0\leq i\neq j<|x|$. More...
 
void Gecode::channel (Home home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i = j\leftrightarrow y_j=i$ for all $0\leq i<|x|$. More...
 
void Gecode::channel (Home home, const IntVarArgs &x, int xoff, const IntVarArgs &y, int yoff, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i$ for all $0\leq i<|x|$. More...
 
void Gecode::channel (Home home, BoolVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling a Boolean and an integer variable $ x_0 = x_1$. More...
 
void Gecode::channel (Home home, IntVar x0, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling an integer and a Boolean variable $ x_0 = x_1$. More...
 
void Gecode::channel (Home home, const BoolVarArgs &x, IntVar y, int o=0, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for channeling Boolean and integer variables $ x_i = 1\leftrightarrow y=i+o$. More...
 
void Gecode::sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator that y is x sorted in increasing order. More...
 
void Gecode::sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, const IntVarArgs &z, IntConLevel icl=ICL_DEF)
 Post propagator that y is x sorted in increasing order. More...
 
void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} m$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} m$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} m$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} m$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, int n, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} z$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} z$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} z$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} z$. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint. More...
 
void Gecode::nvalues (Home home, const IntVarArgs &x, IntRelType irt, int y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$. More...
 
void Gecode::nvalues (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$. More...
 
void Gecode::nvalues (Home home, const BoolVarArgs &x, IntRelType irt, int y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$. More...
 
void Gecode::nvalues (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$. More...
 
void Gecode::sequence (Home home, const IntVarArgs &x, const IntSet &s, int q, int l, int u, IntConLevel icl=ICL_DEF)
 Post propagator for $\operatorname{sequence}(x,s,q,l,u)$. More...
 
void Gecode::sequence (Home home, const BoolVarArgs &x, const IntSet &s, int q, int l, int u, IntConLevel icl=ICL_DEF)
 Post propagator for $\operatorname{sequence}(x,s,q,l,u)$. More...
 
void Gecode::extensional (Home home, const IntVarArgs &x, DFA d, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for extensional constraint described by a DFA. More...
 
void Gecode::extensional (Home home, const BoolVarArgs &x, DFA d, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for extensional constraint described by a DFA. More...
 
void Gecode::extensional (Home home, const IntVarArgs &x, const TupleSet &t, ExtensionalPropKind epk=EPK_DEF, IntConLevel icl=ICL_DEF)
 Post propagator for $x\in t$. More...
 
void Gecode::extensional (Home home, const BoolVarArgs &x, const TupleSet &t, ExtensionalPropKind epk=EPK_DEF, IntConLevel icl=ICL_DEF)
 Post propagator for $x\in t$. More...
 
void Gecode::min (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $ \min\{x_0,x_1\}=x_2$. More...
 
void Gecode::min (Home home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ \min x=y$. More...
 
void Gecode::max (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $ \max\{x_0,x_1\}=x_2$. More...
 
void Gecode::max (Home home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ \max x=y$. More...
 
void Gecode::argmin (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntConLevel icl=ICL_DEF)
 Post propagator for $ \operatorname{argmin} x=y$. More...
 
void Gecode::argmax (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntConLevel icl=ICL_DEF)
 Post propagator for $ \operatorname{argmax} x=y$. More...
 
void Gecode::abs (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ |x_0|=x_1$. More...
 
void Gecode::mult (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\cdot x_1=x_2$. More...
 
void Gecode::divmod (Home home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\ \mathrm{div}\ x_1=x_2 \land x_0\ \mathrm{mod}\ x_1 = x_3$. More...
 
void Gecode::div (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\ \mathrm{div}\ x_1=x_2$. More...
 
void Gecode::mod (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\ \mathrm{mod}\ x_1=x_2$. More...
 
void Gecode::sqr (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0^2=x_1$. More...
 
void Gecode::sqrt (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $\lfloor\sqrt{x_0}\rfloor=x_1$. More...
 
void Gecode::pow (Home home, IntVar x0, int n, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0^n=x_1$. More...
 
void Gecode::nroot (Home home, IntVar x0, int n, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $\lfloor\sqrt[n]{x_0}\rfloor=x_1$. More...
 
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} c$. More...
 
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} y$. More...
 
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r$. More...
 
void Gecode::linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r$. More...
 
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c$. More...
 
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y$. More...
 
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r$. More...
 
void Gecode::linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r$. More...
 
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} c$. More...
 
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r$. More...
 
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} y$. More...
 
void Gecode::linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r$. More...
 
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c$. More...
 
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r$. More...
 
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y$. More...
 
void Gecode::linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r$. More...
 
void Gecode::binpacking (Home home, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, IntConLevel icl=ICL_DEF)
 Post propagator for bin packing. More...
 
IntSet Gecode::binpacking (Home home, int d, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, const IntArgs &c, IntConLevel)
 
void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing. More...
 
void Gecode::nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, const BoolVarArgs &o, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing. More...
 
void Gecode::nooverlap (Home home, const IntVarArgs &x0, const IntVarArgs &w, const IntVarArgs &x1, const IntVarArgs &y0, const IntVarArgs &h, const IntVarArgs &y1, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint. More...
 
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, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint. More...
 
void Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources. More...
 
void Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on unary resources. More...
 
void Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources. More...
 
void Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on unary resources. More...
 
void Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources. More...
 
void Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on unary resources. More...
 
void Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources. More...
 
void Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling optional tasks on cumulative resources. More...
 
void Gecode::circuit (Home home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit. More...
 
void Gecode::circuit (Home home, int offset, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit. More...
 
void Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit with costs y and z. More...
 
void Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit with costs y and z. More...
 
void Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit with cost z. More...
 
void Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit with cost z. More...
 
void Gecode::path (Home home, const IntVarArgs &x, IntVar s, IntVar e, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path. More...
 
void Gecode::path (Home home, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path. More...
 
void Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path with costs y and z. More...
 
void Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path with costs y and z. More...
 
void Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path with cost z. More...
 
void Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path with cost z. More...
 
void Gecode::wait (Home home, IntVar x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when x becomes assigned. More...
 
void Gecode::wait (Home home, BoolVar x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when x becomes assigned. More...
 
void Gecode::wait (Home home, const IntVarArgs &x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when all variables in x become assigned. More...
 
void Gecode::wait (Home home, const BoolVarArgs &x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when all variables in x become assigned. More...
 
void Gecode::when (Home home, BoolVar x, void(*t)(Space &home), void(*e)(Space &home)=NULL, IntConLevel icl=ICL_DEF)
 Execute t (then) when x is assigned one, and e (else) otherwise. More...
 
void Gecode::unshare (Home home, IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Replace multiple variable occurences in x by fresh variables. More...
 
void Gecode::unshare (Home home, BoolVarArgs &x, IntConLevel icl=ICL_DEF)
 Replace multiple variable occurences in x by fresh variables. More...
 
IntVarBranch Gecode::INT_VAR_NONE (void)
 Select first unassigned variable. More...
 
IntVarBranch Gecode::INT_VAR_RND (Rnd r)
 Select random variable (uniform distribution, for tie breaking) More...
 
IntVarBranch Gecode::INT_VAR_MERIT_MIN (IntBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with least merit according to branch merit function bm. More...
 
IntVarBranch Gecode::INT_VAR_MERIT_MIN (BoolBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with least merit according to branch merit function bm. More...
 
IntVarBranch Gecode::INT_VAR_MERIT_MAX (IntBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with highest merit according to branch merit function bm. More...
 
IntVarBranch Gecode::INT_VAR_MERIT_MAX (BoolBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with highest merit according to branch merit function bm. More...
 
IntVarBranch Gecode::INT_VAR_DEGREE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest degree. More...
 
IntVarBranch Gecode::INT_VAR_DEGREE_MAX (BranchTbl tbl=NULL)
 Select variable with largest degree. More...
 
IntVarBranch Gecode::INT_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count with decay factor d. More...
 
IntVarBranch Gecode::INT_VAR_AFC_MIN (IntAFC a, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count. More...
 
IntVarBranch Gecode::INT_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count with decay factor d. More...
 
IntVarBranch Gecode::INT_VAR_AFC_MAX (IntAFC a, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count. More...
 
IntVarBranch Gecode::INT_VAR_ACTIVITY_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with lowest activity with decay factor d. More...
 
IntVarBranch Gecode::INT_VAR_ACTIVITY_MIN (IntActivity a, BranchTbl tbl=NULL)
 Select variable with lowest activity. More...
 
IntVarBranch Gecode::INT_VAR_ACTIVITY_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with highest activity with decay factor d. More...
 
IntVarBranch Gecode::INT_VAR_ACTIVITY_MAX (IntActivity a, BranchTbl tbl=NULL)
 Select variable with highest activity. More...
 
IntVarBranch Gecode::INT_VAR_MIN_MIN (BranchTbl tbl=NULL)
 Select variable with smallest min. More...
 
IntVarBranch Gecode::INT_VAR_MIN_MAX (BranchTbl tbl=NULL)
 Select variable with largest min. More...
 
IntVarBranch Gecode::INT_VAR_MAX_MIN (BranchTbl tbl=NULL)
 Select variable with smallest max. More...
 
IntVarBranch Gecode::INT_VAR_MAX_MAX (BranchTbl tbl=NULL)
 Select variable with largest max. More...
 
IntVarBranch Gecode::INT_VAR_SIZE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest domain size. More...
 
IntVarBranch Gecode::INT_VAR_SIZE_MAX (BranchTbl tbl=NULL)
 Select variable with largest domain size. More...
 
IntVarBranch Gecode::INT_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest degree divided by domain size. More...
 
IntVarBranch Gecode::INT_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=NULL)
 Select variable with largest degree divided by domain size. More...
 
IntVarBranch Gecode::INT_VAR_AFC_SIZE_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count divided by domain size with decay factor d. More...
 
IntVarBranch Gecode::INT_VAR_AFC_SIZE_MIN (IntAFC a, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count divided by domain size. More...
 
IntVarBranch Gecode::INT_VAR_AFC_SIZE_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count divided by domain size with decay factor d. More...
 
IntVarBranch Gecode::INT_VAR_AFC_SIZE_MAX (IntAFC a, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count divided by domain size. More...
 
IntVarBranch Gecode::INT_VAR_ACTIVITY_SIZE_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest activity divided by domain size with decay factor d. More...
 
IntVarBranch Gecode::INT_VAR_ACTIVITY_SIZE_MIN (IntActivity a, BranchTbl tbl=NULL)
 Select variable with smallest activity divided by domain size. More...
 
IntVarBranch Gecode::INT_VAR_ACTIVITY_SIZE_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest activity divided by domain size with decay factor d. More...
 
IntVarBranch Gecode::INT_VAR_ACTIVITY_SIZE_MAX (IntActivity a, BranchTbl tbl=NULL)
 Select variable with largest activity divided by domain size. More...
 
IntVarBranch Gecode::INT_VAR_REGRET_MIN_MIN (BranchTbl tbl=NULL)
 Select variable with smallest min-regret. More...
 
IntVarBranch Gecode::INT_VAR_REGRET_MIN_MAX (BranchTbl tbl=NULL)
 Select variable with largest min-regret. More...
 
IntVarBranch Gecode::INT_VAR_REGRET_MAX_MIN (BranchTbl tbl=NULL)
 Select variable with smallest max-regret. More...
 
IntVarBranch Gecode::INT_VAR_REGRET_MAX_MAX (BranchTbl tbl=NULL)
 Select variable with largest max-regret. More...
 
IntValBranch Gecode::INT_VAL_MIN (void)
 Select smallest value. More...
 
IntValBranch Gecode::INT_VAL_MED (void)
 Select greatest value not greater than the median. More...
 
IntValBranch Gecode::INT_VAL_MAX (void)
 Select largest value. More...
 
IntValBranch Gecode::INT_VAL_RND (Rnd r)
 Select random value. More...
 
IntValBranch Gecode::INT_VAL_SPLIT_MIN (void)
 Select values not greater than mean of smallest and largest value. More...
 
IntValBranch Gecode::INT_VAL_SPLIT_MAX (void)
 Select values greater than mean of smallest and largest value. More...
 
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. More...
 
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. More...
 
IntValBranch Gecode::INT_VAL (IntBranchVal v, IntBranchCommit c=NULL)
 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. More...
 
IntValBranch Gecode::INT_VAL (BoolBranchVal v, BoolBranchCommit c=NULL)
 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. More...
 
IntValBranch Gecode::INT_VALUES_MIN (void)
 Try all values starting from smallest. More...
 
IntValBranch Gecode::INT_VALUES_MAX (void)
 Try all values starting from largest. More...
 
IntValBranch Gecode::INT_VAL_NEAR_MIN (IntSharedArray n)
 Try value nearest to a given value for a variable, in case of ties use the smaller value. More...
 
IntValBranch Gecode::INT_VAL_NEAR_MAX (IntSharedArray n)
 Try value nearest to a given value for a variable, in case of ties use the larger value. More...
 
IntValBranch Gecode::INT_VAL_NEAR_INC (IntSharedArray n)
 Try value larger than a given value for a variable first. More...
 
IntValBranch Gecode::INT_VAL_NEAR_DEC (IntSharedArray n)
 Try value smaller than a given value for a variable first. More...
 
IntAssign Gecode::INT_ASSIGN_MIN (void)
 Select smallest value. More...
 
IntAssign Gecode::INT_ASSIGN_MED (void)
 Select greatest value not greater than the median. More...
 
IntAssign Gecode::INT_ASSIGN_MAX (void)
 Select largest value. More...
 
IntAssign Gecode::INT_ASSIGN_RND (Rnd r)
 Select random value. More...
 
IntAssign Gecode::INT_ASSIGN (IntBranchVal v, IntBranchCommit c=NULL)
 Select value as defined by the value function v and commit function c. More...
 
IntAssign Gecode::INT_ASSIGN (BoolBranchVal v, BoolBranchCommit c=NULL)
 Select value as defined by the value function v and commit function c. More...
 
BrancherHandle Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals. More...
 
BrancherHandle Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals. More...
 
BrancherHandle Gecode::branch (Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=NULL)
 Branch over x with value selection vals. More...
 
BrancherHandle Gecode::branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals. More...
 
BrancherHandle Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals. More...
 
BrancherHandle Gecode::branch (Home home, BoolVar x, IntValBranch vals, BoolVarValPrint vvp=NULL)
 Branch over x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, const IntVarArgs &x, IntAssign vals, IntBranchFilter ibf=NULL, IntVarValPrint vvp=NULL)
 Assign all x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=NULL)
 Assign x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, const BoolVarArgs &x, IntAssign vals, BoolBranchFilter bbf=NULL, BoolVarValPrint vvp=NULL)
 Assign all x with value selection vals. More...
 
BrancherHandle Gecode::assign (Home home, BoolVar x, IntAssign vals, BoolVarValPrint vvp=NULL)
 Assign x with value selection vals. More...
 
SymmetryHandle Gecode::VariableSymmetry (const IntVarArgs &x)
 Variables in x are interchangeable. More...
 
SymmetryHandle Gecode::VariableSymmetry (const BoolVarArgs &x)
 Variables in x are interchangeable. More...
 
SymmetryHandle Gecode::VariableSymmetry (const IntVarArgs &x, const IntArgs &indices)
 Specified variables in x are interchangeable. More...
 
SymmetryHandle Gecode::ValueSymmetry (const IntArgs &v)
 Values in v are interchangeable. More...
 
SymmetryHandle Gecode::ValueSymmetry (const IntSet &v)
 Values in v are interchangeable. More...
 
SymmetryHandle Gecode::ValueSymmetry (IntVar vars)
 All values in the domain of the given variable are interchangeable. More...
 
SymmetryHandle Gecode::VariableSequenceSymmetry (const IntVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable. More...
 
SymmetryHandle Gecode::VariableSequenceSymmetry (const BoolVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable. More...
 
SymmetryHandle Gecode::ValueSequenceSymmetry (const IntArgs &v, int ss)
 Value sequences in v of size ss are interchangeable. More...
 
SymmetryHandle Gecode::values_reflect (int lower, int upper)
 The values from lower to upper (inclusive) can be reflected. More...
 
SymmetryHandle Gecode::values_reflect (IntVar x)
 The values in the domain of can be reflected. More...
 
BrancherHandle Gecode::branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals with symmetry breaking. More...
 
BrancherHandle Gecode::branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. More...
 
BrancherHandle Gecode::branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals with symmetry breaking. More...
 
BrancherHandle Gecode::branch (Home home, const BoolVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking. More...
 

Variables

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

Macro Definition Documentation

#define GECODE_INT_EXPORT

Definition at line 78 of file int.hh.

#define GECODE_LIBRARY_NAME   "Int"

Definition at line 85 of file int.hh.