Generated on Wed Nov 1 15:05:12 2006 for Gecode by doxygen 1.4.5

Gecode Namespace Reference
[Boolean expressions and relationsMatrix interface for arrays]


Detailed Description

Gecode toplevel namespace.

The Gecode namespace contains nested namespaces for the various submodules (for example Int for the definition of integer propagator classes). Functionality that is used for interfacing (search engines, variables, and so on) or belongs to the Gecode Kernel is contained directly in the Gecode namespace.


Classes

class  BoolVarArgs
 Passing Boolean variables. More...
class  IntVarArray
 Integer variable array. More...
class  BoolVarArray
 Boolean variable array. More...
class  ArrayTraits< IntVarArray >
 Traits of IntVarArray. More...
class  ArrayTraits< IntVarArgs >
 Traits of IntVarArgs. More...
class  ArrayTraits< IntArgs >
 Traits of IntArgs. More...
class  ArrayTraits< BoolVarArray >
 Traits of BoolVarArray. More...
class  ArrayTraits< BoolVarArgs >
 Traits of BoolVarArgs. More...
class  ReUnaryPropagator
 Reified unary propagator. More...
class  ReBinaryPropagator
 Reified binary propagator. More...
class  IntVar
 Integer variables. More...
class  IntVarRanges
 Range iterator for integer variables More...
class  IntVarValues
 Value iterator for integer variables. More...
class  BoolVar
 Boolean integer variables. More...
class  IntSet
 Integer sets. More...
class  IntSetRanges
 Range iterator for integer sets. More...
class  IntSetValues
 Value iterator for integer sets. More...
class  REG
 Regular expressions More...
class  DFA
 Deterministic finite automaton. More...
class  VarArray
 Variable arrays More...
class  ViewArray
 View arrays. More...
class  ArgArrayBase
 Base-class for argument arrays. More...
class  PrimArgArray
 Argument array for primtive types. More...
class  VarArgArray
 Argument array for variables. More...
class  ArrayTraits
 Traits of arrays in Gecode. More...
class  ViewValBranching
 Generic branching. More...
class  PosValDesc
 Branching descriptions storing position and value More...
class  __Combine
 A fake combination class. More...
class  VarBase
 Base-class for variable implementations. More...
class  VarTypeProcessorBase
 Base-class for variable type processor. More...
class  VarTypeProcessor
 Variable type processor More...
class  Variable
 Base-class for variable implementations. More...
class  ActorLink
 Double-linked list for actors. More...
class  ActorDeleteLink
 Double-linked list for deleting actors. More...
class  Actor
 Base-class for both propagators and branchings. More...
class  Propagator
 Base-class for propagators. More...
class  BranchingDesc
 Branch description for batch recomputation. More...
class  Branching
 Base-class for branchings. More...
class  Space
 Computation spaces. More...
class  Exception
 Exception: Base-class for exceptions More...
class  MemoryExhausted
 Exception: Memory exhausted More...
class  SpaceFailed
 Exception: Operation on failed space invoked More...
class  SpaceNoBranching
 Exception: Commit when no branching present More...
class  SpaceIllegalAlternative
 Exception: Commit with illegal alternative More...
class  FreeList
 Base-class for freelist-managed objects. More...
class  MemoryManager
 Manage memory for space. More...
class  UnaryPropagator
 Unary propagator. More...
class  BinaryPropagator
 Binary propagator. More...
class  TernaryPropagator
 Ternary propagator. More...
class  NaryPropagator
 n-ary propagator More...
class  NaryOnePropagator
 (n+1)-ary propagator More...
class  InhomBinaryPropagator
 Inhomogeneous binary propagator. More...
class  InhomTernaryPropagator
 Inhomogeneous ternary propagator. More...
class  InhomNaryOnePropagator
 Inhomogeneous (n+1)-ary propagator. More...
class  ConstantViewBase
 Base-class for constant views. More...
class  VariableViewBase
 Base-class for variable views. More...
class  ViewVarTraits
 Traits class for views and variable implementations. More...
class  DerivedViewBase
 Base-class for derived views. More...
class  ViewTuple
 Tuple of views. More...
class  DFS
 Depth-first search engine. More...
class  LDS
 Limited discrepancy search engine. More...
class  BAB
 Depth-first branch-and-bound search engine. More...
class  Restart
 Depth-first restart best solution search engine. More...
class  SetVarArray
 Set variable array More...
class  ArrayTraits< SetVarArray >
 Traits of SetVarArray. More...
class  ArrayTraits< SetVarArgs >
 Traits of SetVarArgs. More...
class  SetExprRanges
 Range iterator for set expressions. More...
class  ProjectorPropagatorSpec
 Specification for a C++ finite set propagator. More...
class  ProjectorCompiler
 Compiler from projector specifications to C++. More...
class  SetExprCode
 Code representing set-valued expressions for finite set projectors. More...
class  SetExpr
 Set-valued expressions for finite set projectors. More...
class  Projector
 Finite set projector specification. More...
class  ProjectorSet
 Group of finite set projector specifications. More...
class  IntSetPropagator
 Set/Int connection propagator. More...
class  SetVar
 Set variables More...
class  SetVarGlbRanges
 Iterator for the greatest lower bound ranges of a set variable. More...
class  SetVarLubRanges
 Iterator for the least upper bound ranges of a set variable. More...
class  SetVarUnknownRanges
 Iterator for the unknown ranges of a set variable. More...
class  SetVarGlbValues
 Iterator for the values in the greatest lower bound of a set variable. More...
class  SetVarLubValues
 Iterator for the values in the least upper bound of a set variable. More...
class  SetVarUnknownValues
 Iterator for the values in the unknown set of a set variable. More...
class  ViewVarTraits< Int::IntView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Int::MinusView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Int::OffsetView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Int::ScaleView< Val, UnsVal > >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Int::ConstIntView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Int::BoolView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Int::NegBoolView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Set::SetView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Set::ConstantView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Set::EmptyView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Set::UniverseView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Set::SingletonView >
 Traits class for views and variable implementations. More...
class  ViewVarTraits< Set::ComplementView< View > >
 Traits class for views and variable implementations. More...
class  ViewArray< Int::Linear::NoView >
 View array for no view (empty). More...
class  ViewVarTraits< Set::ComplementView< Set::ComplementView< View > > >
 Traits class for views and variable implementations. More...

Namespaces

namespace  Support
 Support algorithms and datastructures
namespace  Int
 Finite domain integers.
namespace  Iter
 Range and value iterators.
namespace  Memory
 Heap and automatic memory management.
namespace  Limits
 Numerical limits.
namespace  MiniModel
 Minimal modelling support.
namespace  Search
 Search engines
namespace  Set
 Finite integer sets.

Specifying finite set projectors

SetExpr operator- (const SetExpr &s)
 Return set expression for the complement of s.
SetExpr operator|| (const SetExpr &s, const SetExpr &t)
 Return set expression for the union of s and t.
SetExpr operator && (const SetExpr &, const SetExpr &)
 Return set expression for the intersection of s and t.
SetExpr operator- (const SetExpr &, const SetExpr &)
 Return set expression for the difference of s and t.

Posting projection propagators

void projector (Space *home, const SetVar &xa, const SetVar &ya, ProjectorSet &ps, bool negated=false)
 Post projection propagators for binary constraint.
void projector (Space *home, const SetVar &xa, const SetVar &ya, const BoolVar &bv, ProjectorSet &ps)
 Post reified projection propagators for binary constraint.
void projector (Space *home, const SetVar &xa, const SetVar &ya, const SetVar &za, ProjectorSet &ps, bool negated=false)
 Post projection propagators for ternary constraint.
void projector (Space *home, const SetVar &xa, const SetVar &ya, const SetVar &za, const BoolVar &bv, ProjectorSet &ps)
 Post reified projection propagators for ternary constraint.
void projector (Space *home, const SetVar &xa, const SetVar &ya, const IntVar &i, Projector &p)
 Post projection propagator for cardinality constraint.
void projector (Space *home, const SetVar &xa, const SetVar &ya, const SetVar &za, const IntVar &i, Projector &p)
 Post projection propagator for cardinality constraint.

Typedefs

typedef PrimArgArray< int > IntArgs
 Passing integer arguments.
typedef VarArgArray< IntVarIntVarArgs
 Passing integer variables.
typedef int ModEvent
 Type for modification events.
typedef int PropCond
 Type for propagation conditions.
typedef int PropModEvent
 Propagator modification events.
typedef VarArgArray< SetVarSetVarArgs
 Passing set variables.

Enumerations

enum  IntRelType {
  IRT_EQ, IRT_NQ, IRT_LQ, IRT_LE,
  IRT_GQ, IRT_GR
}
 Common relation types for integers. More...
enum  IntConLevel { ICL_VAL, ICL_BND, ICL_DOM, ICL_DEF }
 Consistency levels for integer propagators. More...
enum  BvarSel {
  BVAR_NONE, BVAR_MIN_MIN, BVAR_MIN_MAX, BVAR_MAX_MIN,
  BVAR_MAX_MAX, BVAR_SIZE_MIN, BVAR_SIZE_MAX, BVAR_DEGREE_MIN,
  BVAR_DEGREE_MAX, BVAR_REGRET_MIN_MIN, BVAR_REGRET_MIN_MAX, BVAR_REGRET_MAX_MIN,
  BVAR_REGRET_MAX_MAX
}
 Which variable to select for branching. More...
enum  BvalSel {
  BVAL_MIN, BVAL_MED, BVAL_MAX, BVAL_SPLIT_MIN,
  BVAL_SPLIT_MAX
}
 Which values to select first for branching. More...
enum  AvalSel { AVAL_MIN, AVAL_MED, AVAL_MAX }
 Which value to select for assignment. More...
enum  ViewSelStatus { VSS_NONE, VSS_SELECT, VSS_COMMIT }
 Status returned by member functions of view selection class. More...
enum  VarTypeId { VTI_INT, VTI_SET, VTI_LAST, VTI_NOIDX = 0 }
 Variable type identifiers More...
enum  ExecStatus {
  ES_FAILED = -1, ES_NOFIX = 0, ES_OK = 0, ES_FIX = 1,
  ES_SUBSUMED = 2, __ES_FIX_PARTIAL = 3, __ES_NOFIX_PARTIAL = 4
}
 Status of constraint propagation and branching commit. More...
enum  PropCost {
  PC_CRAZY_LO = 0, PC_CRAZY_HI = 0, PC_CUBIC_LO = 1, PC_CUBIC_HI = 1,
  PC_QUADRATIC_LO = 2, PC_QUADRATIC_HI = 2, PC_LINEAR_HI = 3, PC_LINEAR_LO = 4,
  PC_TERNARY_HI = 5, PC_BINARY_HI = 6, PC_TERNARY_LO = 6, PC_BINARY_LO = 7,
  PC_UNARY_LO = 7, PC_UNARY_HI = 7, PC_MAX = 7
}
 Classification of propagation cost. More...
enum  SpaceStatus { SS_FAILED, SS_SOLVED, SS_BRANCH }
 Space status More...
enum  SetRelType {
  SRT_EQ, SRT_NQ, SRT_SUB, SRT_SUP,
  SRT_DISJ, SRT_CMPL
}
 Common relation types for sets. More...
enum  SetOpType { SOT_UNION, SOT_DUNION, SOT_INTER, SOT_MINUS }
 Common operations for sets. More...
enum  SetBvarSel {
  SETBVAR_NONE, SETBVAR_MIN_CARD, SETBVAR_MAX_CARD, SETBVAR_MIN_UNKNOWN_ELEM,
  SETBVAR_MAX_UNKNOWN_ELEM
}
 Which variable to select for branching. More...
enum  SetBvalSel { SETBVAL_MIN, SETBVAL_MAX }
 Which values to select first for branching. More...

Functions

void abs (Space *home, IntVar x0, IntVar x1, IntConLevel=ICL_DEF)
 Post propagator for $ |x_0|=x_1$.
void max (Space *home, IntVar x0, IntVar x1, IntVar x2, IntConLevel=ICL_DEF)
 Post propagator for $ \max\{x_0,x_1\}=x_2$.
void max (Space *home, const IntVarArgs &x, IntVar y, IntConLevel=ICL_DEF)
 Post propagator for $ \max x=y$.
void min (Space *home, IntVar x0, IntVar x1, IntVar x2, IntConLevel=ICL_DEF)
 Post propagator for $ \min\{x_0,x_1\}=x_2$.
void min (Space *home, const IntVarArgs &x, IntVar y, IntConLevel=ICL_DEF)
 Post propagator for $ \min x=y$.
void mult (Space *home, IntVar x0, IntVar x1, IntVar x2, IntConLevel=ICL_DEF)
 Post propagator for $x_0\cdot x_1=x_2$.
void bool_not (Space *home, BoolVar b0, BoolVar b1, IntConLevel=ICL_DEF)
 Post propagator for $ \lnot b_0 = b_1$.
void bool_eq (Space *home, BoolVar b0, BoolVar b1, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 = b_1$.
void bool_and (Space *home, BoolVar b0, BoolVar b1, BoolVar b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 \land b_1 = b_2 $.
void bool_and (Space *home, BoolVar b0, BoolVar b1, bool b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 \land b_1 = b_2 $.
void bool_and (Space *home, const BoolVarArgs &b, BoolVar c, IntConLevel=ICL_DEF)
 Post propagator for $ \bigwedge_{i=0}^{|b|-1} b_i = c$.
void bool_and (Space *home, const BoolVarArgs &b, bool c, IntConLevel=ICL_DEF)
 Post propagator for $ \bigwedge_{i=0}^{|b|-1} b_i = c$.
void bool_or (Space *home, BoolVar b0, BoolVar b1, BoolVar b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 \lor b_1 = b_2 $.
void bool_or (Space *home, BoolVar b0, BoolVar b1, bool b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 \lor b_1 = b_2 $.
void bool_or (Space *home, const BoolVarArgs &b, BoolVar c, IntConLevel=ICL_DEF)
 Post propagator for $ \bigvee_{i=0}^{|b|-1} b_i = c$.
void bool_or (Space *home, const BoolVarArgs &b, bool c, IntConLevel=ICL_DEF)
 Post propagator for $ \bigvee_{i=0}^{|b|-1} b_i = c$.
void bool_imp (Space *home, BoolVar b0, BoolVar b1, BoolVar b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 \Rightarrow b_1 = b_2 $ (implication).
void bool_imp (Space *home, BoolVar b0, BoolVar b1, bool b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 \Rightarrow b_1 = b_2 $ (implication).
void bool_eqv (Space *home, BoolVar b0, BoolVar b1, BoolVar b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 \Leftrightarrow b_1 = b_2 $ (equivalence).
void bool_eqv (Space *home, BoolVar b0, BoolVar b1, bool b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_0 \Leftrightarrow b_1 = b_2 $ (equivalence).
void bool_xor (Space *home, BoolVar b0, BoolVar b1, BoolVar b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_1 \otimes b_2 = b_3 $ (exclusive or).
void bool_xor (Space *home, BoolVar b0, BoolVar b1, bool b2, IntConLevel=ICL_DEF)
 Post propagator for $ b_1 \otimes b_2 = b_3 $ (exclusive or).
void branch (Space *home, const IntVarArgs &x, BvarSel vars, BvalSel vals)
 Branch over all x with variable selection vars and value selection vals.
void assign (Space *home, const IntVarArgs &x, AvalSel vals)
 Assign all x with value selection vals.
void channel (Space *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|$.
void count (Space *home, const IntVarArgs &x, int n, IntRelType r, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_r m$.
void count (Space *home, const IntVarArgs &x, IntVar y, IntRelType r, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_r m$.
void count (Space *home, const IntVarArgs &x, int n, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_r z$.
void count (Space *home, const IntVarArgs &x, IntVar y, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_r z$.
void cumulatives (Space *home, const IntVarArgs &machine, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &end, const IntVarArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void cumulatives (Space *home, const IntArgs &machine, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &end, const IntVarArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void cumulatives (Space *home, const IntVarArgs &machine, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &end, const IntVarArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void cumulatives (Space *home, const IntArgs &machine, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &end, const IntVarArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void cumulatives (Space *home, const IntVarArgs &machine, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &end, const IntArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void cumulatives (Space *home, const IntArgs &machine, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &end, const IntArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void cumulatives (Space *home, const IntVarArgs &machine, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &end, const IntArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void cumulatives (Space *home, const IntArgs &machine, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &end, const IntArgs &height, const IntArgs &limit, bool at_most, IntConLevel icl=ICL_DEF)
 Post propagators for the cumulatives constraint.
void distinct (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i\neq x_j$ for all $0\leq i\neq j<|x|$.
void distinct (Space *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|$.
void dom (Space *home, IntVar x, int l, int m, IntConLevel=ICL_DEF)
 Propagates $ l\leq x\leq m$.
void dom (Space *home, IntVarArgs &x, int l, int m, IntConLevel=ICL_DEF)
 Propagates $ l\leq x_i\leq m$ for all $0\leq i<|x|$.
void dom (Space *home, IntVar x, const IntSet &s, IntConLevel=ICL_DEF)
 Propagates $ x\in s $.
void dom (Space *home, IntVarArgs &x, const IntSet &s, IntConLevel=ICL_DEF)
 Propagates $ x_i\in s$ for all $0\leq i<|x|$.
void dom (Space *home, IntVar x, int l, int m, BoolVar b, IntConLevel=ICL_DEF)
 Post propagator for $ (l\leq x \leq m) \Leftrightarrow b$.
void dom (Space *home, IntVar x, const IntSet &s, BoolVar b, IntConLevel=ICL_DEF)
 Post propagator for $ (x \in s) \Leftrightarrow b$.
void element (Space *home, const IntArgs &n, IntVar x0, IntVar x1, IntConLevel=ICL_DEF)
 Post propagator for $ n_{x_0}=x_1$.
void element (Space *home, const IntVarArgs &x, IntVar y0, IntVar y1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_{y_0}=y_1$.
template<class View>
void initCV (Space *home, const IntArgs &ia, const ViewArray< View > &x, int l, ViewArray< OccurBndsView > &a, int iasize, int val, int nov, int min, int max, int unspec_low, int unspec_up)
void gcc (Space *home, const IntVarArgs &x, const IntArgs &c, int m, int unspec_low, int unspec_up, int min, int max, IntConLevel icl)
 Post propagator for

\begin{eqnarray*} \forall t=(v, lb, ub) \in c: & & lb \leq \#\{i\in\{0, \dots, |x| - 1\} | x_i = v\} \leq ub \\ \forall t=(v, unspec_{low}, unspec_{up}) \not\in c: & & unspec_{low} \leq \#\{i\in\{0, \dots, |x| - 1\} | x_i = v\} \leq unspec_{up} \end{eqnarray*}

.

void gcc (Space *home, const IntVarArgs &x, const IntArgs &c, int m, int unspec, int min, int max, IntConLevel icl)
 Post propagator for

\begin{eqnarray*} \forall t=(v, lb, ub) \in c: & & lb \leq \#\{i\in\{0, \dots, |x| - 1\} | x_i = v\} \leq ub \\ \forall t=(v, 0, unspec) \not\in c: & & 0 \leq \#\{i\in\{0, \dots, |x| - 1\} | x_i = v\} \leq unspec \end{eqnarray*}

.

void gcc (Space *home, const IntVarArgs &x, int lb, int ub, IntConLevel icl)
 Post propagator for $ \forall v \in \displaystyle \bigcup_{i\in\{0, \dots, |x|-1\}} dom(x_i): lb \leq \#\{i\in\{0, \dots, |x| - 1\} | x_i = v\} \leq ub $.
void gcc (Space *home, const IntVarArgs &x, int ub, IntConLevel icl)
 Post propagator for $ \forall v \in \displaystyle \bigcup_{i\in\{0, \dots, |x|-1\}} dom(x_i): lb = \#\{i\in\{0, \dots, |x| - 1\} | x_i = v\} = ub $.
void gcc (Space *home, const IntVarArgs &x, const IntVarArgs &c, int min, int max, IntConLevel icl)
 Post propagator for

\begin{eqnarray*} v_j \in I=[min;max] & & \\ \forall j \in \{0, \dots, |I| - 1\}: & & \#\{i\in\{0, \dots, |x| - 1\} | x_i = v_j\} = c_j \end{eqnarray*}

.

void gcc (Space *home, const IntVarArgs &x, const IntArgs &v, const IntVarArgs &c, int m, int unspec, bool all, int min, int max, IntConLevel icl)
 Post propagator for $ \forall j \in \{0, \dots, |v| - 1\}: \#\{i\in\{0, \dots, |x| - 1\} | x_i = v_j\} = c_j $.
void gcc (Space *home, const IntVarArgs &x, const IntArgs &v, const IntVarArgs &c, int m, int unspec_low, int unspec_up, bool all, int min, int max, IntConLevel icl)
 Post propagator for $ \forall j \in \{0, \dots, |v| - 1\}: \#\{i\in\{0, \dots, |x| - 1\} | x_i = v_j\} = c_j $.
void linear (Space *home, const IntVarArgs &x, IntRelType r, int c, IntConLevel=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r c$.
void linear (Space *home, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r c\right)\Leftrightarrow b$.
void linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, IntConLevel=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c$.
void linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c\right)\Leftrightarrow b$.
void linear (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r y$.
void linear (Space *home, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r y\right)\Leftrightarrow b$.
void linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y$.
void linear (Space *home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y\right)\Leftrightarrow b$.
void linear (Space *home, const BoolVarArgs &x, IntRelType r, int c, IntConLevel=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r c$.
void linear (Space *home, const BoolVarArgs &x, IntRelType r, IntVar y, IntConLevel=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r y$.
void regular (Space *home, const IntVarArgs &x, DFA &d, IntConLevel=ICL_DEF)
 Post propagator for regular constraint.
void rel (Space *home, IntVar x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_r c$.
void rel (Space *home, IntVar x0, IntRelType r, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_0 \sim_r x_1$.
void rel (Space *home, IntVar x0, IntRelType r, IntVar x1, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $ (x_0 \sim_r x_1)\Leftrightarrow b$.
void rel (Space *home, IntVar x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $(x \sim_r c)\Leftrightarrow b$.
void eq (Space *home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_0 = x_1$.
void eq (Space *home, IntVar x, int n, IntConLevel=ICL_DEF)
 Propagates $ x = n$.
void eq (Space *home, IntVar x0, IntVar x1, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $ (x_0 = x_1)\Leftrightarrow b$.
void eq (Space *home, IntVar x, int n, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $ (x=n)\Leftrightarrow b$.
void eq (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_0 = x_1=\ldots =x_{|x|-1}$.
void rel (Space *home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for relation between x and y.
void sortedness (Space *home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator $\exists\pi:\forall i\in\{0,\dots,|x|-1\}: y_0 \leq\dots\leq y_{|x|-1} \wedge x_i=y_{\pi(i)}$.
void sortedness (Space *, const IntVarArgs &x, const IntVarArgs &y, const IntVarArgs &z, IntConLevel icl=ICL_DEF)
 Post propagator $\forall i\in\{0,\dots,|x|-1\}: y_0 \leq\dots\leq y_{|x|-1} \wedge x_i=y_{z_i} $
.
bool same (const Int::NegBoolView &x, const Int::NegBoolView &y)
bool before (const Int::NegBoolView &x, const Int::NegBoolView &y)
bool same (const Int::ConstIntView &x, const Int::ConstIntView &y)
bool before (const Int::ConstIntView &x, const Int::ConstIntView &y)
bool same (const Int::MinusView &x, const Int::MinusView &y)
bool before (const Int::MinusView &x, const Int::MinusView &y)
bool same (const Int::OffsetView &x, const Int::OffsetView &y)
bool before (const Int::OffsetView &x, const Int::OffsetView &y)
template<class Val, class UnsVal>
bool same (const Int::ScaleView< Val, UnsVal > &x, const Int::ScaleView< Val, UnsVal > &y)
template<class Val, class UnsVal>
bool before (const Int::ScaleView< Val, UnsVal > &x, const Int::ScaleView< Val, UnsVal > &y)
template<class View>
bool __before (const View &x, const View &y)
template<class View>
bool __same (const View &x, const View &y)
template<class View>
bool __shared (const View &x, const View &y)
bool me_failed (ModEvent me)
 Check whether modification event me is failed.
bool me_modified (ModEvent me)
 Check whether modification event me describes variable modification.
PropCost cost_lo (int n, PropCost pc)
 Dynamic low-propagation cost computation.
PropCost cost_hi (int n, PropCost pc)
 Dynamic high-propagation cost computation.
bool shared (const ConstantViewBase &, const ConstantViewBase &)
 Test whether views share same variable.
template<class Var>
bool shared (const VariableViewBase< Var > &, const ConstantViewBase &)
 Test whether views share same variable.
template<class ViewA>
bool shared (const DerivedViewBase< ViewA > &, const ConstantViewBase &)
 Test whether views share same variable.
template<class Var>
bool shared (const ConstantViewBase &, const VariableViewBase< Var > &)
 Test whether views share same variable.
template<class ViewA>
bool shared (const ConstantViewBase &, const DerivedViewBase< ViewA > &)
 Test whether views share same variable.
template<class VarA, class VarB>
bool shared (const VariableViewBase< VarA > &, const VariableViewBase< VarB > &)
 Test whether views share same variable.
template<class VarA, class ViewB>
bool shared (const VariableViewBase< VarA > &, const DerivedViewBase< ViewB > &)
 Test whether views share same variable.
template<class ViewA, class VarB>
bool shared (const DerivedViewBase< ViewA > &, const VariableViewBase< VarB > &)
 Test whether views share same variable.
template<class ViewA, class ViewB>
bool shared (const DerivedViewBase< ViewA > &, const DerivedViewBase< ViewB > &)
 Test whether views share same variable.
template<class Var>
bool same (const VariableViewBase< Var > &x, const VariableViewBase< Var > &y)
template<class Var>
bool before (const VariableViewBase< Var > &x, const VariableViewBase< Var > &y)
template<class View>
bool shared (const DerivedViewBase< View > &, const ConstantViewBase &)
template<class View>
bool shared (const ConstantViewBase &, const DerivedViewBase< View > &)
template<class View, unsigned int n>
bool same (const ViewTuple< View, n > &x, const ViewTuple< View, n > &y)
template<class View, unsigned int n>
bool before (const ViewTuple< View, n > &x, const ViewTuple< View, n > &y)
IntVar abs (Space *home, IntVar x, IntConLevel icl=ICL_DEF)
 Return variable constrained to $|x|$.
IntVar min (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF)
 Return variable constrained to $\min(x,y)$.
IntVar min (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Return variable constrained to $\min(x)$.
IntVar max (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF)
 Return variable constrained to $\max(x,y)$.
IntVar max (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Return variable constrained to $\max(x)$.
IntVar mult (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF)
 Return variable constrained to $x\cdot y$.
IntVar sqr (Space *home, IntVar x, IntConLevel icl=ICL_DEF)
 Return variable constrained to $x^2$.
IntVar plus (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF)
 Return variable constrained to $x+y$.
IntVar minus (Space *home, IntVar x, IntVar y, IntConLevel icl=ICL_DEF)
 Return variable constrained to $x-y$.
MiniModel::BoolExpr eqv (const MiniModel::BoolExpr &, const MiniModel::BoolExpr &)
 Equivalence of Boolean expressions.
MiniModel::BoolExpr imp (const MiniModel::BoolExpr &, const MiniModel::BoolExpr &)
 Implication of Boolean expressions.
BoolVar post (Space *home, const MiniModel::BoolExpr &e, IntConLevel icl=ICL_DEF)
 Post Boolean expression and return its value.
BoolVar post (Space *home, const BoolVar &b, IntConLevel icl=ICL_DEF)
 Post Boolean expression (special case for variable) and return its value.
MiniModel::BoolRel tt (const MiniModel::BoolExpr &)
 State that Boolean expression must be true.
MiniModel::BoolRel ff (const MiniModel::BoolExpr &)
 State that Boolean expression must be false.
void post (Space *home, const MiniModel::BoolRel &r, IntConLevel icl=ICL_DEF)
 Post Boolean relation.
IntVar post (Space *home, const IntVar &x, IntConLevel icl=ICL_DEF)
 Post linear expression (special case for variable) and return its value.
IntVar post (Space *home, int n, IntConLevel icl=ICL_DEF)
 Post linear expression (special case for constant) and return its value.
IntVar post (Space *home, const MiniModel::LinExpr &e, IntConLevel icl=ICL_DEF)
 Post linear expression and return its value.
void post (Space *home, const MiniModel::LinRel &r, IntConLevel icl=ICL_DEF)
 Post linear relation.
void post (Space *home, bool r, IntConLevel icl=ICL_DEF)
 Make it work for special integer only-case.
void producer_consumer (Space *home, const IntVarArgs &produce_date, const IntArgs &produce_amount, const IntVarArgs &consume_date, const IntArgs &consume_amount, int initial, IntConLevel icl=ICL_DEF)
 Creates propagator for a producer-consumer constraint.
void cumulative (Space *home, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &height, int limit, bool at_most=true, IntConLevel cl=ICL_DEF)
 Creates propagator for the cumulative constraint.
void cumulative (Space *home, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &height, int limit, bool at_most=true, IntConLevel cl=ICL_DEF)
 Creates propagator for the cumulative constraint.
void cumulative (Space *home, const IntVarArgs &start, const IntVarArgs &duration, const IntArgs &height, int limit, bool at_most=true, IntConLevel cl=ICL_DEF)
 Creates propagator for the cumulative constraint.
void cumulative (Space *home, const IntVarArgs &start, const IntArgs &duration, const IntArgs &height, int limit, bool at_most=true, IntConLevel cl=ICL_DEF)
 Creates propagator for the cumulative constraint.
void serialized (Space *home, const IntVarArgs &start, const IntVarArgs &duration, IntConLevel cl=ICL_DEF)
 Creates propagator for the serialized constraint.
void serialized (Space *home, const IntVarArgs &start, const IntArgs &duration, IntConLevel cl=ICL_DEF)
 Creates propagator for the serialized constraint.
void atmost (Space *home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq m$.
void atmost (Space *home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq m$.
void atmost (Space *home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq z$.
void atmost (Space *home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq z$.
void atleast (Space *home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq m$.
void atleast (Space *home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq m$.
void atleast (Space *home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq z$.
void atleast (Space *home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq z$.
void exactly (Space *home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=m$.
void exactly (Space *home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=m$.
void exactly (Space *home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=z$.
void exactly (Space *home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=z$.
void lex (Space *home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for lexical order between x and y.
template<class T>
T * bab (T *s, unsigned int c_d=Search::Config::c_d, unsigned int a_d=Search::Config::a_d, Search::Stop *st=NULL)
 Perform depth-first branch-and-bound search.
template<class T>
T * dfs (T *s, unsigned int c_d=Search::Config::c_d, unsigned int a_d=Search::Config::a_d, Search::Stop *st=NULL)
 Invoke depth-first search engine.
template<class T>
T * lds (T *s, unsigned int d, Search::Stop *st=NULL)
 Invoke limited-discrepancy search.
template<class T>
T * restart (T *s, unsigned int c_d=Search::Config::c_d, unsigned int a_d=Search::Config::a_d, Search::Stop *st=NULL)
 Perform depth-first restart best solution search.
void branch (Space *home, const SetVarArgs &x, SetBvarSel vars, SetBvalSel vals)
 Branch over all x with variable selection vars and value selection vals.
void cardinality (Space *home, SetVar x, unsigned int i, unsigned int j)
 Propagates $ i \leq |s| \leq j $.
void cardinality (Space *home, SetVar s, IntVar x)
 Post propagator for $ |s|=x $.
void convex (Space *home, SetVar x)
 Post propagator that propagates that x is convex.
void convexHull (Space *home, SetVar x, SetVar y)
 Post propagator that propagates that y is the convex hull of x.
void atmostOne (Space *home, const SetVarArgs &x, unsigned int c)
 Post propagator for $\forall 0\leq i\leq |x| : |x_i|=c$ and $\forall 0\leq i<j\leq |x| : |x_i\cap x_j|\leq 1$.
void distinct (Space *home, const SetVarArgs &x, unsigned int c)
 Post propagator for $\forall 0\leq i\leq |x| : |x_i|=c$ and $\forall 0\leq i<j\leq |x| : x_i\neq x_j$.
void dom (Space *home, SetVar x, SetRelType r, int i)
 Propagates $ x \sim_r \{i\}$.
void dom (Space *home, SetVar x, SetRelType r, int i, int j)
 Propagates $ x \sim_r \{i,\dots,j\}$.
void dom (Space *home, SetVar x, SetRelType r, const IntSet &s)
 Propagates $ x \sim_r s$.
void dom (Space *home, SetVar x, SetRelType r, int i, BoolVar b)
 Post propagator for $ (x \sim_r \{i\}) \Leftrightarrow b $.
void dom (Space *home, SetVar x, SetRelType r, int i, int j, BoolVar b)
 Post propagator for $ (x \sim_r \{i,\dots,j\}) \Leftrightarrow b $.
void dom (Space *home, SetVar x, SetRelType r, const IntSet &s, BoolVar b)
 Post propagator for $ (x \sim_r s) \Leftrightarrow b $.
void rel (Space *home, SetVar s, IntRelType r, IntVar x)
 Post propagator for $\forall i\in s:\ i \sim_r x$.
void rel (Space *home, IntVar x, IntRelType r, SetVar s)
 Post propagator for $\forall i\in s:\ x \sim_r i$.
void min (Space *home, SetVar s, IntVar x)
 Post propagator that propagates that x is the minimal element of s.
void max (Space *home, SetVar s, IntVar x)
 Post propagator that propagates that x is the maximal element of s.
void match (Space *home, SetVar s, const IntVarArgs &x)
 Post propagator that propagates that s contains the $x_i$ , which are sorted in non-descending order.
void channel (Space *home, const IntVarArgs &x, const SetVarArgs &y)
 Post propagator for $x_i=j \Leftrightarrow i\in y_j$.
void weights (Space *home, const IntArgs &elements, const IntArgs &weights, SetVar x, IntVar y)
 Post propagator for $y = \mathrm{weight}(x)$.
std::ostream & operator<< (std::ostream &os, const ProjectorCompiler::Indent &indent)
void codeScope (Support::DynamicArray< int > &s, const SetExprCode &c, bool monotone)
Iter::Ranges::Virt::IteratorcodeToIterator (const ViewArray< Set::SetView > &x, const SetExprCode &c, bool monotone)
template<class View0, class View1>
bool viewarrayshared (const ViewArray< View0 > &va, const View1 &y)
template<>
bool viewarrayshared< Set::SingletonView, Set::SetView > (const ViewArray< Set::SingletonView > &va, const Set::SetView &y)
void rel (Space *home, const IntSet &x, SetOpType op, SetVar y, SetRelType r, SetVar z)
 Post propagator for $ (x \diamond_{\mathit{op}} y) \sim_r z $.
void rel (Space *home, SetVar x, SetOpType op, const IntSet &y, SetRelType r, SetVar z)
 Post propagator for $ (x \diamond_{\mathit{op}} y) \sim_r z $.
void rel (Space *home, SetVar x, SetOpType op, SetVar y, SetRelType r, const IntSet &z)
 Post propagator for $ (x \diamond_{\mathit{op}} y) \sim_r z $.
void rel (Space *home, const IntSet &x, SetOpType op, const IntSet &y, SetRelType r, SetVar z)
 Post propagator for $ (x \diamond_{\mathit{op}} y) \sim_r z $.
void rel (Space *home, const IntSet &x, SetOpType op, SetVar y, SetRelType r, const IntSet &z)
 Post propagator for $ (x \diamond_{\mathit{op}} y) \sim_r z $.
void rel (Space *home, SetVar x, SetOpType op, const IntSet &y, SetRelType r, const IntSet &z)
 Post propagator for $ (x \diamond_{\mathit{op}} y) \sim_r z $.
void rel (Space *home, SetVar x, SetOpType op, SetVar y, SetRelType r, SetVar z)
 Post propagator for $ (x \diamond_{\mathit{op}} y) \sim_r z $.
void rel (Space *home, SetOpType op, const SetVarArgs &x, SetVar y)
 Post propagator for $ y = \diamond_{\mathit{op}} x$.
void rel (Space *home, SetOpType op, const IntVarArgs &x, SetVar y)
 Post propagator for $ y = \diamond_{\mathit{op}} x$.
template<class View0, class View1>
void rel_post (Space *home, View0 x0, SetRelType r, View1 x1)
template<class View0, class View1>
void rel_re (Space *home, View0 x, SetRelType r, View1 y, BoolVar b)
void rel (Space *home, SetVar x, SetRelType r, SetVar y)
 Post propagator for $ x \sim_r y$.
void rel (Space *home, SetVar s, SetRelType r, IntVar x)
 Post propagator for $ s \sim_r \{x\}$.
void rel (Space *home, IntVar x, SetRelType r, SetVar s)
 Post propagator for $ \{x\} \sim_r s$.
void rel (Space *home, SetVar x, SetRelType r, SetVar y, BoolVar b)
 Post propagator for $ (x \sim_r y) \Leftrightarrow b $.
void rel (Space *home, SetVar s, SetRelType r, IntVar x, BoolVar b)
 Post propagator for $ (s \sim_r \{x\}) \Leftrightarrow b $.
void rel (Space *home, IntVar x, SetRelType r, SetVar s, BoolVar b)
 Post propagator for $ (\{x\} \sim_r s) \Leftrightarrow b $.
void selectUnion (Space *home, const SetVarArgs &x, SetVar y, SetVar z)
 Post propagator for $ z=\bigcup\langle x_0,\dots,x_{n-1}\rangle[y] $ If y is the empty set, z will also be constrained to be empty (as an empty union is empty).
void selectInter (Space *home, const SetVarArgs &x, SetVar y, SetVar z)
void selectInterIn (Space *home, const SetVarArgs &x, SetVar y, SetVar z, const IntSet &universe)
void selectSet (Space *home, const SetVarArgs &x, IntVar y, SetVar z)
 Post propagator for $ z=\langle x_0,\dots,x_{n-1}\rangle[y] $.
void selectDisjoint (Space *home, const SetVarArgs &x, SetVar y)
 Post propagator for $ \parallel\langle x_0,\dots,x_{n-1}\rangle[y] $.
void sequence (Space *home, const SetVarArgs &x)
 Post propagator for $\forall 0\leq i< |x|-1 : \max(x_i)<\min(x_{i+1})$.
void sequentialUnion (Space *home, const SetVarArgs &y, SetVar x)
 Post propagator for $\forall 0\leq i< |x|-1 : \max(x_i)<\min(x_{i+1})$ and $ x = \bigcup_{i\in\{0,\dots,n-1\}} y_i $.
template<class View>
bool same (const Set::ComplementView< View > &x, const Set::ComplementView< View > &y)
template<class View>
bool before (const Set::ComplementView< View > &x, const Set::ComplementView< View > &y)
template<class View>
bool same (const Set::ComplementView< Set::ComplementView< View > > &x, const Set::ComplementView< Set::ComplementView< View > > &y)
template<class View>
bool before (const Set::ComplementView< Set::ComplementView< View > > &x, const Set::ComplementView< Set::ComplementView< View > > &y)
bool same (const Set::ConstantView &x, const Set::ConstantView &y)
bool before (const Set::ConstantView &x, const Set::ConstantView &y)
bool same (const Set::EmptyView &, const Set::EmptyView &)
bool before (const Set::EmptyView &, const Set::EmptyView &)
bool same (const Set::UniverseView &, const Set::UniverseView &)
bool before (const Set::UniverseView &, const Set::UniverseView &)
bool same (const Set::SingletonView &x, const Set::SingletonView &y)
bool before (const Set::SingletonView &x, const Set::SingletonView &y)

Variables

const ModEvent ME_GEN_FAILED = -1
 Generic modification event: failed variable.
const ModEvent ME_GEN_NONE = 0
 Generic modification event: no modification.
const ModEvent ME_GEN_ASSIGNED = 1
 Generic modification event: variable is assigned a value.
const ModEvent ME_GEN_MAX = 15
 Generic modification event: maximal modification event.
const PropCond PC_GEN_ASSIGNED = 0
 Propagation condition for an assigned variable.
const PropCond PC_GEN_MAX = 15
 Propagation conditions must be between 0 and 15.


Function Documentation

template<class View>
void Gecode::initCV Space *  home,
const IntArgs ia,
const ViewArray< View > &  x,
int  l,
ViewArray< OccurBndsView > &  a,
int  iasize,
int  val,
int  nov,
int  min,
int  max,
int  unspec_low,
int  unspec_up
 

Definition at line 298 of file gcc.cc.

bool Gecode::same const Int::NegBoolView &  x,
const Int::NegBoolView &  y
[related]
 

Definition at line 234 of file bool.icc.

bool Gecode::before const Int::NegBoolView &  x,
const Int::NegBoolView &  y
[related]
 

Definition at line 238 of file bool.icc.

bool Gecode::same const Int::ConstIntView &  x,
const Int::ConstIntView &  y
[related]
 

Definition at line 295 of file constint.icc.

bool Gecode::before const Int::ConstIntView &  x,
const Int::ConstIntView &  y
[related]
 

Definition at line 299 of file constint.icc.

bool Gecode::same const Int::MinusView &  x,
const Int::MinusView &  y
[related]
 

Definition at line 274 of file minus.icc.

bool Gecode::before const Int::MinusView &  x,
const Int::MinusView &  y
[related]
 

Definition at line 278 of file minus.icc.

bool Gecode::same const Int::OffsetView &  x,
const Int::OffsetView &  y
[related]
 

Definition at line 262 of file offset.icc.

bool Gecode::before const Int::OffsetView &  x,
const Int::OffsetView &  y
[related]
 

Definition at line 266 of file offset.icc.

template<class Val, class UnsVal>
bool Gecode::same const Int::ScaleView< Val, UnsVal > &  x,
const Int::ScaleView< Val, UnsVal > &  y
[related]
 

Definition at line 358 of file scale.icc.

template<class Val, class UnsVal>
bool Gecode::before const Int::ScaleView< Val, UnsVal > &  x,
const Int::ScaleView< Val, UnsVal > &  y
[related]
 

Definition at line 364 of file scale.icc.

template<class View>
bool Gecode::__before const View &  x,
const View &  y
[inline]
 

Definition at line 648 of file array.icc.

template<class View>
bool Gecode::__same const View &  x,
const View &  y
[inline]
 

Definition at line 667 of file array.icc.

template<class View>
bool Gecode::__shared const View &  x,
const View &  y
[inline]
 

Definition at line 672 of file array.icc.

template<class Var>
bool Gecode::same const VariableViewBase< Var > &  x,
const VariableViewBase< Var > &  y
[related]
 

Definition at line 389 of file view.icc.

template<class Var>
bool Gecode::before const VariableViewBase< Var > &  x,
const VariableViewBase< Var > &  y
[related]
 

Definition at line 394 of file view.icc.

template<class View>
bool Gecode::shared const DerivedViewBase< View > &  ,
const ConstantViewBase & 
[inline]
 

Definition at line 461 of file view.icc.

template<class View>
bool Gecode::shared const ConstantViewBase &  ,
const DerivedViewBase< View > & 
[inline]
 

Definition at line 473 of file view.icc.

template<class View, unsigned int n>
bool Gecode::same const ViewTuple< View, n > &  x,
const ViewTuple< View, n > &  y
[related]
 

Definition at line 553 of file view.icc.

template<class View, unsigned int n>
bool Gecode::before const ViewTuple< View, n > &  x,
const ViewTuple< View, n > &  y
[related]
 

Definition at line 561 of file view.icc.

MiniModel::BoolExpr Gecode::eqv const MiniModel::BoolExpr &  l,
const MiniModel::BoolExpr &  r
[inline]
 

Equivalence of Boolean expressions.

Definition at line 162 of file bool-expr.icc.

MiniModel::BoolExpr Gecode::imp const MiniModel::BoolExpr &  l,
const MiniModel::BoolExpr &  r
[inline]
 

Implication of Boolean expressions.

Definition at line 170 of file bool-expr.icc.

MiniModel::BoolRel Gecode::tt const MiniModel::BoolExpr &  e  )  [inline]
 

State that Boolean expression must be true.

Definition at line 46 of file bool-rel.icc.

MiniModel::BoolRel Gecode::ff const MiniModel::BoolExpr &  e  )  [inline]
 

State that Boolean expression must be false.

Definition at line 50 of file bool-rel.icc.

template<class T>
T * Gecode::restart T *  s,
unsigned int  c_d = Search::Config::c_d,
unsigned int  a_d = Search::Config::a_d,
Search::Stop *  st = NULL
 

Perform depth-first restart best solution search.

Parameters:
s root node (subclass T of Space). Additionally, s must implement a member function
 void constrain(T* t) 
Whenever exploration requires to add a constraint to the space c currently being explored, the engine executes c->constrain(t) where t is the so-far best solution.
c_d minimal recomputation distance
a_d adaptive recomputation distance
st Stop-object

Definition at line 65 of file restart.icc.

std::ostream& Gecode::operator<< std::ostream &  os,
const ProjectorCompiler::Indent &  indent
 

Definition at line 40 of file compiler.cc.

void Gecode::codeScope Support::DynamicArray< int > &  s,
const SetExprCode &  c,
bool  monotone
 

Definition at line 31 of file projector.cc.

Iter::Ranges::Virt::Iterator* Gecode::codeToIterator const ViewArray< Set::SetView > &  x,
const SetExprCode &  c,
bool  monotone
 

Definition at line 221 of file set-expr.cc.

template<class View0, class View1>
bool Gecode::viewarrayshared const ViewArray< View0 > &  va,
const View1 &  y
[inline]
 

Definition at line 32 of file common.icc.

template<>
bool Gecode::viewarrayshared< Set::SingletonView, Set::SetView > const ViewArray< Set::SingletonView > &  va,
const Set::SetView &  y
[inline]
 

template<class View0, class View1>
void Gecode::rel_post Space *  home,
View0  x0,
SetRelType  r,
View1  x1
 

Definition at line 38 of file rel.cc.

template<class View0, class View1>
void Gecode::rel_re Space *  home,
View0  x,
SetRelType  r,
View1  y,
BoolVar  b
 

Definition at line 85 of file rel.cc.

template<class View>
bool Gecode::same const Set::ComplementView< View > &  x,
const Set::ComplementView< View > &  y
[related]
 

Definition at line 493 of file complement.icc.

template<class View>
bool Gecode::before const Set::ComplementView< View > &  x,
const Set::ComplementView< View > &  y
[related]
 

Definition at line 499 of file complement.icc.

template<class View>
bool Gecode::same const Set::ComplementView< Set::ComplementView< View > > &  x,
const Set::ComplementView< Set::ComplementView< View > > &  y
[related]
 

Definition at line 505 of file complement.icc.

template<class View>
bool Gecode::before const Set::ComplementView< Set::ComplementView< View > > &  x,
const Set::ComplementView< Set::ComplementView< View > > &  y
[related]
 

Definition at line 511 of file complement.icc.

bool Gecode::same const Set::ConstantView &  x,
const Set::ConstantView &  y
[inline]
 

Definition at line 607 of file const.icc.

bool Gecode::before const Set::ConstantView &  x,
const Set::ConstantView &  y
[inline]
 

Definition at line 617 of file const.icc.

bool Gecode::same const Set::EmptyView &  ,
const Set::EmptyView & 
[related]
 

Definition at line 631 of file const.icc.

bool Gecode::before const Set::EmptyView &  ,
const Set::EmptyView & 
[related]
 

Definition at line 635 of file const.icc.

bool Gecode::same const Set::UniverseView &  ,
const Set::UniverseView & 
[related]
 

Definition at line 640 of file const.icc.

bool Gecode::before const Set::UniverseView &  ,
const Set::UniverseView & 
[related]
 

Definition at line 644 of file const.icc.

bool Gecode::same const Set::SingletonView &  x,
const Set::SingletonView &  y
[related]
 

Definition at line 336 of file singleton.icc.

bool Gecode::before const Set::SingletonView &  x,
const Set::SingletonView &  y
[related]
 

Definition at line 340 of file singleton.icc.