Generated on Thu Mar 22 10:39:52 2012 for Gecode by doxygen 1.6.3

Gecode Namespace Reference

Gecode toplevel namespace More...

Namespaces

namespace  Support
 

Support algorithms and datastructures


namespace  Kernel
 

Kernel functionality


namespace  Driver
 

Script commandline driver.


namespace  FlatZinc
 

Interpreter for the FlatZinc language.


namespace  Gist
 

The Gecode Interactive Search Tool.


namespace  Int
 

Finite domain integers.


namespace  Iter
 

Range and value iterators.


namespace  MemoryConfig
 

Parameters defining memory management policy for spaces.


namespace  Set
 

Finite integer sets.


namespace  MiniModel
 

Minimalistic modeling support.


namespace  Search
 

Search engines


Classes

class  BaseOptions
 Base class for script options. More...
class  Options
 Options for scripts More...
class  SizeOptions
 Options for scripts with additional size parameter More...
class  InstanceOptions
 Options for scripts with additional instance parameter More...
class  ArrayTraits< VarArgArray< IntVar > >
 Traits of IntVarArgs. More...
class  ArrayTraits< VarArray< IntVar > >
 Traits of IntVarArray. More...
class  ArrayTraits< VarArgArray< BoolVar > >
 Traits of BoolVarArgs. More...
class  ArrayTraits< VarArray< BoolVar > >
 Traits of BoolVarArray. More...
class  ArrayTraits< PrimArgArray< int > >
 Traits of IntArgs. More...
class  ArrayTraits< ArgArray< IntSet > >
 Traits of IntSetArgs. 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  IntSetInit
 Integer set initialization. More...
class  IntSetInit< IntSet >
class  IntSetInit< IntArgs >
class  ViewArray< Int::Linear::NoView >
 View array for no view (empty). More...
class  IntSet
 Integer sets. More...
class  IntSetRanges
 Range iterator for integer sets. More...
class  IntSetValues
 Value iterator for integer sets. 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  IntArgs
 Passing integer arguments. More...
class  IntVarArgs
 Passing integer variables. More...
class  BoolVarArgs
 Passing Boolean variables. More...
class  IntVarArray
 Integer variable array. More...
class  BoolVarArray
 Boolean variable array. More...
class  ArrayTraits< PrimArgArray< TaskType > >
 Traits of TaskTypeArgs. More...
class  DFA
 Deterministic finite automaton (DFA). More...
class  TupleSet
 Class represeting a set of tuples. More...
class  ViewAdvisor
 Advisor storing a single view More...
struct  space_allocator< void >
 Space allocator - specialization for void. More...
struct  space_allocator
 Allocator that allocates memory from a space heap. More...
struct  region_allocator< void >
 Region allocator - specialization for void. More...
struct  region_allocator
 Allocator that allocates memory from a region. More...
class  Archive
 Archive representation More...
class  ArrayTraits
 Traits of arrays in Gecode. 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  ArgArray
 Argument array for non-primitive types. More...
class  VarArgArray
 Argument array for variables. More...
class  FunctionBranch
 Brancher for calling a function More...
class  VarBranchOptions
 Variable branch options. More...
class  ValBranchOptions
 Value branch options. More...
class  TieBreakVarBranch
 Combine variable selection criteria for tie-breaking. More...
class  TieBreakVarBranchOptions
 Combine variable branch options for tie-breaking. More...
class  ViewSelTieBreakStatic
 View selection class for static tie breaking. More...
class  ChoiceVirtualBase
 Virtualized choice baseclass. More...
class  ViewSelVirtualBase
 Virtualized view selection base class. More...
class  ChoiceVirtual
 Virtualized choice. More...
class  ViewSelVirtual
 Virtualized view selection. More...
class  ViewSelTieBreakDynamic
 View selection class for dynamic tie breaking. More...
class  EmptyValSelChoice
 Emty value selection choice. More...
class  ValSelBase
 Base class for value selection. More...
class  EmptyViewSelChoice
 Emty view selection choice. More...
class  ViewSelBase
 Base class for view selection. More...
class  ViewSelNone
 Select first not assigned view. More...
class  ViewSelDegreeMin
 View selection class for view with smallest degree. More...
class  ViewSelDegreeMax
 View selection class for view with largest degree. More...
class  ViewSelAfcMin
 View selection class for view with smallest accumulated failure count. More...
class  ViewSelAfcMax
 View selection class for view with largest accumulated failure count. More...
class  ArchivedRandomGenerator
 Random generator with archiving (to be used in branchers). More...
class  ViewSelRnd
 View selection class for random selection. More...
class  Pos
 Position information. More...
class  ViewBrancher
 Generic brancher by view selection. More...
class  ViewValBrancher
 Generic brancher by view and value selection. More...
class  PosChoice
 Choices storing position More...
class  PosValChoice
 Choice storing position and value More...
class  SharedHandle
 The shared handle. More...
class  NoIdxVarImpConf
 Configuration class for variable implementations without index structure. More...
class  VarImpBase
 Base-class for variable implementations. More...
class  VarImpDisposerBase
 Base class for Variable type disposer. More...
class  VarImpDisposer
 Variable implementation disposer More...
class  Delta
 Generic domain change information to be supplied to advisors. More...
class  VarImp
 Base-class for variable implementations. More...
class  PropCost
 Propagation cost. More...
class  ActorLink
 Double-linked list for actors. More...
class  Actor
 Base-class for both propagators and branchers. More...
class  Home
 Home class for posting propagators More...
class  Propagator
 Base-class for propagators. More...
class  Council
 Council of advisors More...
class  Advisors
 Class to iterate over advisors of a council. More...
class  Advisor
 Base-class for advisors. More...
class  Choice
 Choice for performing commit More...
class  Brancher
 Base-class for branchers. More...
class  LocalObject
 Local (space-shared) object. More...
class  LocalHandle
 Handles for local (space-shared) objects. More...
class  StatusStatistics
 Statistics for execution of status More...
class  CloneStatistics
 Statistics for execution of clone More...
class  CommitStatistics
 Statistics for execution of commit More...
class  Space
 Computation spaces. More...
class  SpaceFailed
 Exception: Operation on failed space invoked More...
class  SpaceNotStable
 Exception: Operation on not stable space invoked More...
class  SpaceNoBrancher
 Exception: Commit when no brancher present More...
class  SpaceIllegalAlternative
 Exception: Commit with illegal alternative More...
class  SpaceConstrainUndefined
 Exception: no constrain member function defined More...
class  TooManyBranchers
 Exception: too many branchers More...
class  PropInfo
 Class for propagator information. More...
class  GlobalPropInfo
 Globally shared object for propagator information. More...
class  MemoryChunk
 Memory chunk with size information. More...
class  HeapChunk
 Memory chunk allocated from heap with proper alignment. More...
class  SharedMemory
 Shared object for several memory areas. 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  MixBinaryPropagator
 Mixed binary propagator. More...
class  MixTernaryPropagator
 Mixed ternary propagator. More...
class  MixNaryOnePropagator
 Mixed (n+1)-ary propagator. More...
class  RangeList
 Lists of ranges (intervals). More...
class  Region
 Handle to region. More...
class  SharedArray
 Shared array with arbitrary number of elements. More...
class  AllVarConf
 Configuration for all variable implementations. More...
class  Var
 Base class for variables. More...
class  VarImpVar
 Variables as interfaces to variable implementations. More...
class  ConstView
 Base-class for constant views. More...
class  VarImpView
 Base-class for variable implementation views. More...
class  DerivedView
 Base-class for derived views. More...
class  BElementExpr
 Boolean element expressions. More...
class  NonLinExpr
 Base class for non-linear expressions. More...
class  LinExpr
 Linear expressions. More...
class  LinRel
 Linear relations. More...
class  SetExpr
 Set expressions More...
class  SetCmpRel
 Comparison relation (for two-sided comparisons). More...
class  SetRel
 Set relations More...
class  BoolExpr
 Boolean expressions. More...
class  REG
 Regular expressions over integer values. More...
class  Slice
 A slice of a matrix. More...
class  Matrix
 Matrix-interface for arrays. More...
class  DFS
 Depth-first search engine. More...
class  BAB
 Depth-first branch-and-bound search engine. More...
class  Restart
 Depth-first restart best solution search engine. More...
class  ArrayTraits< VarArgArray< SetVar > >
 Traits of VarArgArray<SetVar> More...
class  ArrayTraits< VarArray< SetVar > >
 Traits of VarArray<SetVar> More...
class  ArrayTraits< SetVarArray >
 Traits of SetVarArray. More...
class  ArrayTraits< SetVarArgs >
 Traits of SetVarArgs. 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  SetVarArgs
 Passing set variables. More...
class  SetVarArray
 Set variable array More...
class  Exception
 Exception: Base-class for exceptions More...
class  MemoryExhausted
 Exception: Memory exhausted More...
class  DynamicCastFailed
 Exception: dynamic cast failed More...
class  OperatingSystemError
 Exception: operating system error More...
class  Heap
 Heap memory management class More...

Typedefs

typedef Driver::ScriptBase< SpaceScript
 Base-class for scripts.
typedef Driver::ScriptBase
< MinimizeSpace
MinimizeScript
 Base-class for scripts for finding solution of lowest cost.
typedef Driver::ScriptBase
< MaximizeSpace
MaximizeScript
 Base-class for scripts for finding solution of highest cost.
typedef ArgArray< IntSetIntSetArgs
 Passing set arguments.
typedef PrimArgArray< TaskTypeTaskTypeArgs
 Argument arrays for passing task type arguments.
typedef SharedArray< int > IntSharedArray
 Arrays of integers that can be shared among several element constraints.
typedef bool(* BranchFilter )(const Space &home, int i, const Var &x)
 Branch filter function type.
typedef int ModEvent
 Type for modification events.
typedef int PropCond
 Type for propagation conditions.
typedef int ModEventDelta
 Modification event deltas.
typedef
MiniModel::OptimizeSpace
< IRT_LE > 
MinimizeSpace
 Class for minimizing cost.
typedef
MiniModel::OptimizeSpace
< IRT_GR > 
MaximizeSpace
 Class for maximizing cost.

Enumerations

enum  ScriptMode { SM_SOLUTION, SM_TIME, SM_STAT, SM_GIST }
 

Different modes for executing scripts.

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

Relation types for integers.

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

Operation types for Booleans.

More...
enum  IntConLevel { ICL_VAL, ICL_BND, ICL_DOM, ICL_DEF }
 

Consistency levels for integer propagators.

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

Type of task for scheduling constraints.

More...
enum  ExtensionalPropKind { EPK_DEF, EPK_SPEED, EPK_MEMORY }
 

Extensional propagation kind.

More...
enum  IntVarBranch {
  INT_VAR_NONE = 0, INT_VAR_RND, INT_VAR_DEGREE_MIN, INT_VAR_DEGREE_MAX,
  INT_VAR_AFC_MIN, INT_VAR_AFC_MAX, INT_VAR_MIN_MIN, INT_VAR_MIN_MAX,
  INT_VAR_MAX_MIN, INT_VAR_MAX_MAX, INT_VAR_SIZE_MIN, INT_VAR_SIZE_MAX,
  INT_VAR_SIZE_DEGREE_MIN, INT_VAR_SIZE_DEGREE_MAX, INT_VAR_SIZE_AFC_MIN, INT_VAR_SIZE_AFC_MAX,
  INT_VAR_REGRET_MIN_MIN, INT_VAR_REGRET_MIN_MAX, INT_VAR_REGRET_MAX_MIN, INT_VAR_REGRET_MAX_MAX
}
 

Which variable to select for branching.

More...
enum  IntValBranch {
  INT_VAL_MIN, INT_VAL_MED, INT_VAL_MAX, INT_VAL_RND,
  INT_VAL_SPLIT_MIN, INT_VAL_SPLIT_MAX, INT_VAL_RANGE_MIN, INT_VAL_RANGE_MAX,
  INT_VALUES_MIN, INT_VALUES_MAX
}
 

Which values to select first for branching.

More...
enum  IntAssign { INT_ASSIGN_MIN, INT_ASSIGN_MED, INT_ASSIGN_MAX, INT_ASSIGN_RND }
 

Which value to select for assignment.

More...
enum  ViewSelStatus { VSS_BEST, VSS_BETTER, VSS_TIE, VSS_WORSE }
 

Status returned by member functions of view selection class.

More...
enum  ExecStatus {
  __ES_SUBSUMED = -2, ES_FAILED = -1, ES_NOFIX = 0, ES_OK = 0,
  ES_FIX = 1, ES_NOFIX_FORCE = 2, __ES_PARTIAL = 2
}
enum  ActorProperty { AP_DISPOSE = (1 << 0), AP_WEAKLY = (1 << 1) }
 

Actor properties.

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, SRT_LQ, SRT_LE,
  SRT_GQ, SRT_GR
}
 

Common relation types for sets.

More...
enum  SetOpType { SOT_UNION, SOT_DUNION, SOT_INTER, SOT_MINUS }
 

Common operations for sets.

More...
enum  SetVarBranch {
  SET_VAR_NONE = 0, SET_VAR_RND, SET_VAR_DEGREE_MIN, SET_VAR_DEGREE_MAX,
  SET_VAR_AFC_MIN, SET_VAR_AFC_MAX, SET_VAR_MIN_MIN, SET_VAR_MIN_MAX,
  SET_VAR_MAX_MIN, SET_VAR_MAX_MAX, SET_VAR_SIZE_MIN, SET_VAR_SIZE_MAX,
  SET_VAR_SIZE_DEGREE_MIN, SET_VAR_SIZE_DEGREE_MAX, SET_VAR_SIZE_AFC_MIN, SET_VAR_SIZE_AFC_MAX
}
 

Which variable to select for branching.

More...
enum  SetValBranch {
  SET_VAL_MIN_INC, SET_VAL_MIN_EXC, SET_VAL_MED_INC, SET_VAL_MED_EXC,
  SET_VAL_MAX_INC, SET_VAL_MAX_EXC, SET_VAL_RND_INC, SET_VAL_RND_EXC
}
 

Which values to select first for branching.

More...
enum  SetAssign {
  SET_ASSIGN_MIN_INC, SET_ASSIGN_MIN_EXC, SET_ASSIGN_MED_INC, SET_ASSIGN_MED_EXC,
  SET_ASSIGN_MAX_INC, SET_ASSIGN_MAX_EXC, SET_ASSIGN_RND_INC, SET_ASSIGN_RND_EXC
}
 

Which value to select for assignment.

More...

Functions

void abs (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ |x_0|=x_1$.
void max (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $ \max\{x_0,x_1\}=x_2$.
void max (Home home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ \max x=y$.
void min (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $ \min\{x_0,x_1\}=x_2$.
void min (Home home, const IntVarArgs &x, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ \min x=y$.
void mult (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\cdot x_1=x_2$.
void sqr (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\cdot x_0=x_1$.
void sqrt (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $\lfloor\sqrt{x_0}\rfloor=x_1$.
void 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$.
void div (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\ \mathrm{div}\ x_1=x_2$.
void mod (Home home, IntVar x0, IntVar x1, IntVar x2, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0\ \mathrm{mod}\ x_1=x_2$.
void binpacking (Home home, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, IntConLevel icl=ICL_DEF)
 Post propagator for bin packing.
void rel (Home home, BoolVar x0, IntRelType r, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_0 \sim_r x_1$.
void rel (Home home, BoolVar x, IntRelType r, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_r n$.
void rel (Home home, BoolVar x0, IntRelType r, BoolVar x1, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $(x_0 \sim_r x_1)\Leftrightarrow b$.
void rel (Home home, BoolVar x, IntRelType r, int n, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $(x \sim_r n)\Leftrightarrow b$.
void rel (Home home, const BoolVarArgs &x, IntRelType r, BoolVar y, IntConLevel icl=ICL_DEF)
 Post doamin consistent propagator for $ x_i \sim_r y $ for all $0\leq i<|x|$.
void rel (Home home, const BoolVarArgs &x, IntRelType r, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_r n $ for all $0\leq i<|x|$.
void rel (Home home, const BoolVarArgs &x, IntRelType r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between elements in x.
void rel (Home home, const BoolVarArgs &x, IntRelType r, const BoolVarArgs &y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between x and y.
void 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.
void 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.
void rel (Home home, BoolOpType o, const BoolVarArgs &x, BoolVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void rel (Home home, BoolOpType o, const BoolVarArgs &x, int n, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for Boolean operation on x.
void 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.
void 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.
void branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, const VarBranchOptions &o_vars=VarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with variable selection vars and value selection vals.
void branch (Home home, const BoolVarArgs &x, const TieBreakVarBranch< IntVarBranch > &vars, IntValBranch vals, const TieBreakVarBranchOptions &o_vars=TieBreakVarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const VarBranchOptions &o_vars=VarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with variable selection vars and value selection vals.
void branch (Home home, const IntVarArgs &x, const TieBreakVarBranch< IntVarBranch > &vars, IntValBranch vals, const TieBreakVarBranchOptions &o_vars=TieBreakVarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void assign (Home home, const IntVarArgs &x, IntAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign all x with value selection vals.
void assign (Home home, const BoolVarArgs &x, IntAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign all x with value selection vals.
void branch (Home home, IntVar x, IntValBranch vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with value selection vals.
void branch (Home home, BoolVar x, IntValBranch vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with value selection vals.
void assign (Home home, IntVar x, IntAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign x with value selection vals.
void assign (Home home, BoolVar x, IntAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign x with value selection vals.
Archiveoperator>> (Archive &e, Gecode::Int::Branch::NoValue &)
Archiveoperator<< (Archive &e, const Gecode::Int::Branch::NoValue &)
void 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|$.
void 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|$.
void 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$.
void 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$.
void circuit (Home home, int offset, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit.
void circuit (Home home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a circuit.
void 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.
void 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.
void 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.
void 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.
void 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.
void path (Home home, const IntVarArgs &x, IntVar s, IntVar e, IntConLevel icl=ICL_DEF)
 Post propagator such that x forms a Hamiltonian path.
void 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.
void 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.
void 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.
void 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.
void count (Home 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 (Home 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 (Home home, const IntVarArgs &x, const IntSet &y, IntRelType r, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_r m$.
void count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType r, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_r m$.
void count (Home 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 (Home 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 count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_r z$.
void count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType r, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_r z$.
template<class Cap >
void cumulative (Home home, Cap c, const TaskTypeArgs &t, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntConLevel icl)
void 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.
void 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.
template<class Cap >
void cumulative (Home home, Cap c, const TaskTypeArgs &t, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl)
void 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.
void 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.
template<class Cap >
void cumulative (Home home, Cap c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntConLevel icl)
void 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.
void 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.
template<class Cap >
void cumulative (Home home, Cap c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl)
void 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.
void 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.
template<class Cap >
void cumulative (Home home, Cap c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntConLevel icl)
void 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.
void 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.
template<class Cap >
void cumulative (Home home, Cap c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl)
void 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.
void 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.
void 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.
void 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.
void 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.
void 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.
void 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.
void 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.
void 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.
void 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.
void 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|$.
void 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|$.
void dom (Home home, IntVar x, int n, IntConLevel icl=ICL_DEF)
 Propagates $x=n$.
void dom (Home home, const IntVarArgs &x, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x_i=n$ for all $0\leq i<|x|$.
void dom (Home home, IntVar x, int l, int m, IntConLevel icl=ICL_DEF)
 Propagates $ l\leq x\leq m$.
void 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|$.
void dom (Home home, IntVar x, const IntSet &s, IntConLevel icl=ICL_DEF)
 Propagates $ x\in s $.
void dom (Home home, const IntVarArgs &x, const IntSet &s, IntConLevel icl=ICL_DEF)
 Propagates $ x_i\in s$ for all $0\leq i<|x|$.
void dom (Home home, IntVar x, int n, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (x=n) \Leftrightarrow b$.
void dom (Home home, IntVar x, int l, int m, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (l\leq x \leq m) \Leftrightarrow b$.
void dom (Home home, IntVar x, const IntSet &s, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (x \in s) \Leftrightarrow b$.
void element (Home home, IntSharedArray n, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void element (Home home, IntSharedArray n, IntVar x0, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void element (Home home, IntSharedArray n, IntVar x0, int x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ n_{x_0}=x_1$.
void element (Home home, const IntVarArgs &x, IntVar y0, IntVar y1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_{y_0}=y_1$.
void element (Home home, const IntVarArgs &x, IntVar y0, int y1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_{y_0}=y_1$.
void element (Home home, const BoolVarArgs &x, IntVar y0, BoolVar y1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_{y_0}=y_1$.
void element (Home home, const BoolVarArgs &x, IntVar y0, int y1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_{y_0}=y_1$.
void 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$.
void 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$.
void 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$.
void 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$.
void wait (Home home, IntVar x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when x becomes assigned.
void wait (Home home, BoolVar x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when x becomes assigned.
void wait (Home home, const IntVarArgs &x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when all variables in x become assigned.
void wait (Home home, const BoolVarArgs &x, void(*c)(Space &home), IntConLevel icl=ICL_DEF)
 Execute c when all variables in x become assigned.
void 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.
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const DFA &d)
template<class Char , class Traits , class T >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const TupleSet &ts)
void extensional (Home home, const IntVarArgs &x, DFA d, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for extensional constraint described by a DFA.
void extensional (Home home, const BoolVarArgs &x, DFA d, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for extensional constraint described by a DFA.
void extensional (Home home, const IntVarArgs &x, const TupleSet &t, ExtensionalPropKind epk=EPK_DEF, IntConLevel icl=ICL_DEF)
 Post propagator for $x\in t$.
void extensional (Home home, const BoolVarArgs &x, const TupleSet &t, ExtensionalPropKind epk=EPK_DEF, IntConLevel icl=ICL_DEF)
 Post propagator for $x\in t$.
void count (Home home, const IntVarArgs &x, const IntVarArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void count (Home home, const IntVarArgs &x, const IntVarArgs &c, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void count (Home home, const IntVarArgs &x, const IntSetArgs &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void count (Home home, const IntVarArgs &x, const IntSetArgs &c, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
void count (Home home, const IntVarArgs &x, const IntSet &c, const IntArgs &v, IntConLevel icl=ICL_DEF)
 Posts a global count (cardinality) constraint.
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const IntSet &is)
void linear (Home home, const BoolVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r c$.
void linear (Home home, const BoolVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r y$.
void linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c$.
void linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y$.
void linear (Home home, const BoolVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r c\right)\Leftrightarrow b$.
void linear (Home home, const BoolVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r y\right)\Leftrightarrow b$.
void linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c\right)\Leftrightarrow b$.
void linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y\right)\Leftrightarrow b$.
void linear (Home home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r c$.
void linear (Home home, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r c\right)\Leftrightarrow b$.
void linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c$.
void linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r c\right)\Leftrightarrow b$.
void linear (Home home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_r y$.
void linear (Home home, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_r y\right)\Leftrightarrow b$.
void linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y$.
void linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType r, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_r y\right)\Leftrightarrow b$.
void 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}\}$.
void 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}\}$.
void member (Home home, const IntVarArgs &x, IntVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\Leftrightarrow b$.
void member (Home home, const BoolVarArgs &x, BoolVar y, BoolVar b, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\Leftrightarrow b$.
void nooverlap (Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntConLevel icl=ICL_DEF)
 Post propagator for rectangle packing.
void 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.
void 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.
void 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.
void nvalues (Home home, const IntVarArgs &x, IntRelType r, int y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_r y$.
void nvalues (Home home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_r y$.
void nvalues (Home home, const BoolVarArgs &x, IntRelType r, int y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_r y$.
void nvalues (Home home, const BoolVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_r y$.
void precede (Home home, const IntVarArgs &x, int s, int t, IntConLevel=ICL_DEF)
 Post propagator that s precedes t in x.
void precede (Home home, const IntVarArgs &x, const IntArgs &c, IntConLevel=ICL_DEF)
 Post propagator that successive values in c precede each other in x.
void rel (Home home, IntVar x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_r c$.
void rel (Home home, const IntVarArgs &x, IntRelType r, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_r c $ for all $0\leq i<|x|$.
void rel (Home home, IntVar x0, IntRelType r, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_0 \sim_r x_1$.
void rel (Home home, const IntVarArgs &x, IntRelType r, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i \sim_r y $ for all $0\leq i<|x|$.
void rel (Home 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 (Home home, IntVar x, IntRelType r, int c, BoolVar b, IntConLevel icl=ICL_DEF)
 Post propagator for $(x \sim_r c)\Leftrightarrow b$.
void rel (Home home, const IntVarArgs &x, IntRelType r, IntConLevel icl=ICL_DEF)
 Post propagator for relation among elements in x.
void rel (Home home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator for relation between x and y.
void 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)$.
void 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)$.
void 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.
void sorted (Home home, const IntVarArgs &x, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post propagator that y is x sorted in increasing order.
void unary (Home home, const IntVarArgs &s, const IntArgs &p, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources.
void unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources.
void 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.
void 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.
void unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, IntConLevel icl=ICL_DEF)
 Post propagators for scheduling tasks on unary resources.
void 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.
void unshare (Home home, IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Replace multiple variable occurences in x by fresh variables.
void unshare (Home home, BoolVarArgs &x, IntConLevel icl=ICL_DEF)
 Replace multiple variable occurences in x by fresh variables.
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const IntVar &x)
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const BoolVar &x)
void 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$.
template<class T1 , class T2 >
bool operator== (space_allocator< T1 > const &al1, space_allocator< T2 > const &al2) throw ()
 Tests two space allocators for equality.
template<class T1 , class T2 >
bool operator!= (space_allocator< T1 > const &al1, space_allocator< T2 > const &al2) throw ()
 Tests two space allocators for inequality.
template<class T1 , class T2 >
bool operator== (region_allocator< T1 > const &al1, region_allocator< T2 > const &al2) throw ()
template<class T1 , class T2 >
bool operator!= (region_allocator< T1 > const &al1, region_allocator< T2 > const &al2) throw ()
Archiveoperator<< (Archive &e, unsigned int i)
Archiveoperator<< (Archive &e, int i)
Archiveoperator<< (Archive &e, unsigned short i)
Archiveoperator<< (Archive &e, short i)
Archiveoperator<< (Archive &e, unsigned char i)
Archiveoperator<< (Archive &e, char i)
Archiveoperator<< (Archive &e, bool i)
Archiveoperator<< (Archive &e, float d)
Archiveoperator<< (Archive &e, double d)
Archiveoperator>> (Archive &e, unsigned int &i)
Archiveoperator>> (Archive &e, int &i)
Archiveoperator>> (Archive &e, unsigned short &i)
Archiveoperator>> (Archive &e, short &i)
Archiveoperator>> (Archive &e, unsigned char &i)
Archiveoperator>> (Archive &e, char &i)
Archiveoperator>> (Archive &e, bool &i)
Archiveoperator>> (Archive &e, float &d)
Archiveoperator>> (Archive &e, double &d)
template<class Var >
ArrayTraits< VarArray< Var >
>::ArgsType 
operator+ (const VarArray< Var > &x, const VarArray< Var > &y)
template<class Var >
ArrayTraits< VarArray< Var >
>::ArgsType 
operator+ (const VarArray< Var > &x, const VarArgArray< Var > &y)
template<class Var >
ArrayTraits< VarArray< Var >
>::ArgsType 
operator+ (const VarArgArray< Var > &x, const VarArray< Var > &y)
template<class Var >
ArrayTraits< VarArray< Var >
>::ArgsType 
operator+ (const VarArray< Var > &x, const Var &y)
template<class Var >
ArrayTraits< VarArray< Var >
>::ArgsType 
operator+ (const Var &x, const VarArray< Var > &y)
template<class View >
bool __before (const View &x, const View &y)
template<class X , class Y >
bool __same (const X &x, const Y &y)
template<class X , class Y >
bool __shared (const X &x, const Y &y)
template<class T >
ArrayTraits< PrimArgArray< T >
>::ArgsType 
operator+ (const PrimArgArray< T > &x, const PrimArgArray< T > &y)
template<class T >
ArrayTraits< PrimArgArray< T >
>::ArgsType 
operator+ (const PrimArgArray< T > &x, const T &y)
template<class T >
ArrayTraits< PrimArgArray< T >
>::ArgsType 
operator+ (const T &x, const PrimArgArray< T > &y)
template<class T >
ArrayTraits< ArgArray< T >
>::ArgsType 
operator+ (const ArgArray< T > &x, const ArgArray< T > &y)
template<class T >
ArrayTraits< ArgArray< T >
>::ArgsType 
operator+ (const ArgArray< T > &x, const T &y)
template<class T >
ArrayTraits< ArgArray< T >
>::ArgsType 
operator+ (const T &x, const ArgArray< T > &y)
template<class Var >
ArrayTraits< VarArgArray< Var >
>::ArgsType 
operator+ (const VarArgArray< Var > &x, const VarArgArray< Var > &y)
template<class Var >
ArrayTraits< VarArgArray< Var >
>::ArgsType 
operator+ (const VarArgArray< Var > &x, const Var &y)
template<class Var >
ArrayTraits< VarArgArray< Var >
>::ArgsType 
operator+ (const Var &x, const VarArgArray< Var > &y)
template<class Char , class Traits , class Var >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const VarArray< Var > &x)
template<class Char , class Traits , class View >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const ViewArray< View > &x)
template<class Char , class Traits , class T >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const ArgArrayBase< T > &x)
void branch (Home home, void(*f)(Space &home))
 Call the function f (with the current space as argument) for branching.
template<class VarBranch >
TieBreakVarBranch< VarBranch > tiebreak (VarBranch a, VarBranch b)
 Combine variable selection criteria a and b for tie-breaking.
template<class VarBranch >
TieBreakVarBranch< VarBranch > tiebreak (VarBranch a, VarBranch b, VarBranch c)
 Combine variable selection criteria a, b, and c for tie-breaking.
template<class VarBranch >
TieBreakVarBranch< VarBranch > tiebreak (VarBranch a, VarBranch b, VarBranch c, VarBranch d)
 Combine variable selection criteria a, b, c, and d for tie-breaking.
TieBreakVarBranchOptions tiebreak (VarBranchOptions a, VarBranchOptions b)
 Combine variable branch options a and b for tie-breaking.
TieBreakVarBranchOptions tiebreak (VarBranchOptions a, VarBranchOptions b, VarBranchOptions c)
 Combine variable branch options a, b, and c for tie-breaking.
TieBreakVarBranchOptions tiebreak (VarBranchOptions a, VarBranchOptions b, VarBranchOptions c, VarBranchOptions d)
 Combine variable branch options a, b, c, and d for tie-breaking.
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.
template<class Char , class Traits , class T >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const SharedArray< T > &x)
template<class ViewA , class ViewB >
bool shared (const ConstView< ViewA > &, const ConstView< ViewB > &)
 Test whether views share same variable.
template<class Var , class View >
bool shared (const VarImpView< Var > &, const ConstView< View > &)
 Test whether views share same variable.
template<class ViewA , class ViewB >
bool shared (const DerivedView< ViewA > &, const ConstView< ViewB > &)
 Test whether views share same variable.
template<class View , class Var >
bool shared (const ConstView< View > &, const VarImpView< Var > &)
 Test whether views share same variable.
template<class ViewA , class ViewB >
bool shared (const ConstView< ViewA > &, const DerivedView< ViewB > &)
 Test whether views share same variable.
template<class VarA , class VarB >
bool shared (const VarImpView< VarA > &, const VarImpView< VarB > &)
 Test whether views share same variable.
template<class Var , class View >
bool shared (const VarImpView< Var > &, const DerivedView< View > &)
 Test whether views share same variable.
template<class View , class Var >
bool shared (const DerivedView< View > &, const VarImpView< Var > &)
 Test whether views share same variable.
template<class ViewA , class ViewB >
bool shared (const DerivedView< ViewA > &, const DerivedView< ViewB > &)
 Test whether views share same variable.
template<class ViewA , class ViewB >
bool same (const ConstView< ViewA > &, const ConstView< ViewB > &)
 Test whether two views are the same.
template<class Var , class View >
bool same (const VarImpView< Var > &, const ConstView< View > &)
 Test whether two views are the same.
template<class ViewA , class ViewB >
bool same (const ConstView< ViewA > &, const DerivedView< ViewB > &)
 Test whether two views are the same.
template<class Var , class View >
bool same (const VarImpView< Var > &, const DerivedView< View > &)
 Test whether two views are the same.
template<class View , class Var >
bool same (const DerivedView< View > &, const VarImpView< Var > &)
 Test whether two views are the same.
template<class Var >
bool same (const VarImpView< Var > &x, const VarImpView< Var > &y)
 Test whether two views are the same.
template<class ViewA , class ViewB >
bool same (const DerivedView< ViewA > &x, const DerivedView< ViewB > &y)
 Test whether two views are the same.
template<class ViewA , class ViewB >
bool before (const ViewA &x, const ViewB &y)
LinExpr abs (const LinExpr &e)
 Return expression for $|e|$.
LinExpr min (const LinExpr &x, const LinExpr &y)
 Return expression for $\min(x,y)$.
LinExpr max (const LinExpr &x, const LinExpr &y)
 Return expression for $\max(x,y)$.
LinExpr min (const IntVarArgs &x)
 Return expression for $\min(x)$.
LinExpr max (const IntVarArgs &x)
 Return expression for $\max(x)$.
LinExpr operator* (const LinExpr &x, const LinExpr &y)
 Return expression for $x\cdot y$.
LinExpr sqr (const LinExpr &x)
 Return expression for $x^2$.
LinExpr sqrt (const LinExpr &x)
 Return expression for $\lfloor\sqrt{x}\rfloor$.
LinExpr operator/ (const LinExpr &x, const LinExpr &y)
 Return expression for $x\ \mathrm{div}\ y$.
LinExpr operator% (const LinExpr &x, const LinExpr &y)
 Return expression for $x\ \mathrm{mod}\ y$.
LinExpr element (const IntVarArgs &x, const LinExpr &y)
 Return expression for $x[y]$.
LinExpr element (const IntArgs &x, const LinExpr &y)
 Return expression for $x[y]$.
BoolExpr operator&& (const BoolExpr &, const BoolExpr &)
 Conjunction of Boolean expressions.
BoolExpr operator|| (const BoolExpr &, const BoolExpr &)
 Disjunction of Boolean expressions.
BoolExpr operator^ (const BoolExpr &, const BoolExpr &)
 Exclusive-or of Boolean expressions.
BoolExpr operator! (const BoolExpr &)
 Negated Boolean expression.
BoolExpr operator!= (const BoolExpr &, const BoolExpr &)
 Non-equivalence of Boolean expressions.
BoolExpr operator== (const BoolExpr &, const BoolExpr &)
 Equivalence of Boolean expressions.
BoolExpr operator>> (const BoolExpr &, const BoolExpr &)
 Implication of Boolean expressions.
BoolExpr operator<< (const BoolExpr &, const BoolExpr &)
 Reverse implication of Boolean expressions.
BoolVar expr (Home home, const BoolExpr &e, IntConLevel icl=ICL_DEF)
 Post Boolean expression and return its value.
void rel (Home home, const BoolExpr &e, IntConLevel icl=ICL_DEF)
 Post Boolean relation.
BoolExpr element (const BoolVarArgs &x, const LinExpr &y)
 Return expression for $x[y]$.
LinExpr operator+ (int, const IntVar &)
 Construct linear expression as sum of integer variable and integer.
LinExpr operator+ (int, const BoolVar &)
 Construct linear expression as sum of Boolean variable and integer.
LinExpr operator+ (int, const LinExpr &)
 Construct linear expression as sum of linear expression and integer.
LinExpr operator+ (const IntVar &, int)
 Construct linear expression as sum of integer variable and integer.
LinExpr operator+ (const BoolVar &, int)
 Construct linear expression as sum of Boolean variable and integer.
LinExpr operator+ (const LinExpr &, int)
 Construct linear expression as sum of linear expression and integer.
LinExpr operator+ (const IntVar &, const IntVar &)
 Construct linear expression as sum of integer variables.
LinExpr operator+ (const IntVar &, const BoolVar &)
 Construct linear expression as sum of integer and Boolean variable.
LinExpr operator+ (const BoolVar &, const IntVar &)
 Construct linear expression as sum of Boolean and integer variable.
LinExpr operator+ (const BoolVar &, const BoolVar &)
 Construct linear expression as sum of Boolean variables.
LinExpr operator+ (const IntVar &, const LinExpr &)
 Construct linear expression as sum of integer variable and linear expression.
LinExpr operator+ (const BoolVar &, const LinExpr &)
 Construct linear expression as sum of Boolean variable and linear expression.
LinExpr operator+ (const LinExpr &, const IntVar &)
 Construct linear expression as sum of linear expression and integer variable.
LinExpr operator+ (const LinExpr &, const BoolVar &)
 Construct linear expression as sum of linear expression and Boolean variable.
LinExpr operator+ (const LinExpr &, const LinExpr &)
 Construct linear expression as sum of linear expressions.
LinExpr operator- (int, const IntVar &)
 Construct linear expression as sum of integer variable and integer.
LinExpr operator- (int, const BoolVar &)
 Construct linear expression as sum of Boolean variable and integer.
LinExpr operator- (int, const LinExpr &)
 Construct linear expression as sum of integer and linear expression.
LinExpr operator- (const IntVar &, int)
 Construct linear expression as sum of integer variable and integer.
LinExpr operator- (const BoolVar &, int)
 Construct linear expression as sum of Boolean variable and integer.
LinExpr operator- (const LinExpr &, int)
 Construct linear expression as sum of linear expression and integer.
LinExpr operator- (const IntVar &, const IntVar &)
 Construct linear expression as sum of integer variables.
LinExpr operator- (const IntVar &, const BoolVar &)
 Construct linear expression as sum of integer and Boolean variable.
LinExpr operator- (const BoolVar &, const IntVar &)
 Construct linear expression as sum of Boolean and integer variable.
LinExpr operator- (const BoolVar &, const BoolVar &)
 Construct linear expression as sum of Boolean variables.
LinExpr operator- (const IntVar &, const LinExpr &)
 Construct linear expression as sum of integer variable and linear expression.
LinExpr operator- (const BoolVar &, const LinExpr &)
 Construct linear expression as sum of Boolean variable and linear expression.
LinExpr operator- (const LinExpr &, const IntVar &)
 Construct linear expression as sum of linear expression and integer variable.
LinExpr operator- (const LinExpr &, const BoolVar &)
 Construct linear expression as sum of linear expression and Boolean variable.
LinExpr operator- (const LinExpr &, const LinExpr &)
 Construct linear expression as sum of linear expressions.
LinExpr operator- (const IntVar &)
 Construct linear expression as negative of integer variable.
LinExpr operator- (const BoolVar &)
 Construct linear expression as negative of Boolean variable.
LinExpr operator- (const LinExpr &)
 Construct linear expression as negative of linear expression.
LinExpr operator* (int, const IntVar &)
 Construct linear expression as product of integer coefficient and integer variable.
LinExpr operator* (int, const BoolVar &)
 Construct linear expression as product of integer coefficient and Boolean variable.
LinExpr operator* (const IntVar &, int)
 Construct linear expression as product of integer coefficient and integer variable.
LinExpr operator* (const BoolVar &, int)
 Construct linear expression as product of integer coefficient and Boolean variable.
LinExpr operator* (const LinExpr &, int)
 Construct linear expression as product of integer coefficient and linear expression.
LinExpr operator* (int, const LinExpr &)
 Construct linear expression as product of integer coefficient and linear expression.
LinExpr sum (const IntVarArgs &x)
 Construct linear expression as sum of integer variables.
LinExpr sum (const IntArgs &a, const IntVarArgs &x)
 Construct linear expression as sum of integer variables with coefficients.
LinExpr sum (const BoolVarArgs &x)
 Construct linear expression as sum of Boolean variables.
LinExpr sum (const IntArgs &a, const BoolVarArgs &x)
 Construct linear expression as sum of Boolean variables with coefficients.
IntVar expr (Home home, const LinExpr &e, IntConLevel icl=ICL_DEF)
 Post linear expression and return its value.
LinRel operator== (int l, const IntVar &r)
 Construct linear equality relation.
LinRel operator== (int l, const BoolVar &r)
 Construct linear equality relation.
LinRel operator== (int l, const LinExpr &r)
 Construct linear equality relation.
LinRel operator== (const IntVar &l, int r)
 Construct linear equality relation.
LinRel operator== (const BoolVar &l, int r)
 Construct linear equality relation.
LinRel operator== (const LinExpr &l, int r)
 Construct linear equality relation.
LinRel operator== (const IntVar &l, const IntVar &r)
 Construct linear equality relation.
LinRel operator== (const IntVar &l, const BoolVar &r)
 Construct linear equality relation.
LinRel operator== (const BoolVar &l, const IntVar &r)
 Construct linear equality relation.
LinRel operator== (const BoolVar &l, const BoolVar &r)
 Construct linear equality relation.
LinRel operator== (const IntVar &l, const LinExpr &r)
 Construct linear equality relation.
LinRel operator== (const BoolVar &l, const LinExpr &r)
 Construct linear equality relation.
LinRel operator== (const LinExpr &l, const IntVar &r)
 Construct linear equality relation.
LinRel operator== (const LinExpr &l, const BoolVar &r)
 Construct linear equality relation.
LinRel operator== (const LinExpr &l, const LinExpr &r)
 Construct linear equality relation.
LinRel operator!= (int l, const IntVar &r)
 Construct linear disequality relation.
LinRel operator!= (int l, const BoolVar &r)
 Construct linear disequality relation.
LinRel operator!= (int l, const LinExpr &r)
 Construct linear disequality relation.
LinRel operator!= (const IntVar &l, int r)
 Construct linear disequality relation.
LinRel operator!= (const BoolVar &l, int r)
 Construct linear disequality relation.
LinRel operator!= (const LinExpr &l, int r)
 Construct linear disequality relation.
LinRel operator!= (const IntVar &l, const IntVar &r)
 Construct linear disequality relation.
LinRel operator!= (const IntVar &l, const BoolVar &r)
 Construct linear disequality relation.
LinRel operator!= (const BoolVar &l, const IntVar &r)
 Construct linear disequality relation.
LinRel operator!= (const BoolVar &l, const BoolVar &r)
 Construct linear disequality relation.
LinRel operator!= (const IntVar &l, const LinExpr &r)
 Construct linear disequality relation.
LinRel operator!= (const BoolVar &l, const LinExpr &r)
 Construct linear disequality relation.
LinRel operator!= (const LinExpr &l, const IntVar &r)
 Construct linear disequality relation.
LinRel operator!= (const LinExpr &l, const BoolVar &r)
 Construct linear disequality relation.
LinRel operator!= (const LinExpr &l, const LinExpr &r)
 Construct linear disequality relation.
LinRel operator< (int l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator< (int l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator< (int l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator< (const IntVar &l, int r)
 Construct linear inequality relation.
LinRel operator< (const BoolVar &l, int r)
 Construct linear inequality relation.
LinRel operator< (const LinExpr &l, int r)
 Construct linear inequality relation.
LinRel operator< (const IntVar &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator< (const IntVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator< (const BoolVar &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator< (const BoolVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator< (const IntVar &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator< (const BoolVar &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator< (const LinExpr &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator< (const LinExpr &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator< (const LinExpr &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator<= (int l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator<= (int l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator<= (int l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator<= (const IntVar &l, int r)
 Construct linear inequality relation.
LinRel operator<= (const BoolVar &l, int r)
 Construct linear inequality relation.
LinRel operator<= (const LinExpr &l, int r)
 Construct linear inequality relation.
LinRel operator<= (const IntVar &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator<= (const IntVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator<= (const BoolVar &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator<= (const BoolVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator<= (const IntVar &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator<= (const BoolVar &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator<= (const LinExpr &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator<= (const LinExpr &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator<= (const LinExpr &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator> (int l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator> (int l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator> (int l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator> (const IntVar &l, int r)
 Construct linear inequality relation.
LinRel operator> (const BoolVar &l, int r)
 Construct linear inequality relation.
LinRel operator> (const LinExpr &l, int r)
 Construct linear inequality relation.
LinRel operator> (const IntVar &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator> (const IntVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator> (const BoolVar &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator> (const BoolVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator> (const IntVar &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator> (const BoolVar &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator> (const LinExpr &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator> (const LinExpr &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator> (const LinExpr &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator>= (int l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator>= (int l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator>= (int l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator>= (const IntVar &l, int r)
 Construct linear inequality relation.
LinRel operator>= (const BoolVar &l, int r)
 Construct linear inequality relation.
LinRel operator>= (const LinExpr &l, int r)
 Construct linear inequality relation.
LinRel operator>= (const IntVar &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator>= (const IntVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator>= (const BoolVar &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator>= (const BoolVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator>= (const IntVar &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator>= (const BoolVar &l, const LinExpr &r)
 Construct linear inequality relation.
LinRel operator>= (const LinExpr &l, const IntVar &r)
 Construct linear inequality relation.
LinRel operator>= (const LinExpr &l, const BoolVar &r)
 Construct linear inequality relation.
LinRel operator>= (const LinExpr &l, const LinExpr &r)
 Construct linear inequality relation.
template<class A >
Slice< A >::ArgsType operator+ (const Slice< A > &x, const Slice< A > &y)
 Concatenate x and y.
template<class A >
Slice< A >::ArgsType operator+ (const Slice< A > &x, const typename ArrayTraits< A >::ArgsType &y)
 Concatenate x and y.
template<class A >
Slice< A >::ArgsType operator+ (const typename ArrayTraits< A >::ArgsType &x, const Slice< A > &y)
 Concatenate x and y.
template<class A >
Slice< A >::ArgsType operator+ (const Slice< A > &x, const typename ArrayTraits< A >::ValueType &y)
 Concatenate x and y.
template<class A >
Slice< A >::ArgsType operator+ (const typename ArrayTraits< A >::ValueType &x, const Slice< A > &y)
 Concatenate x and y.
template<class Char , class Traits , class A >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const Matrix< A > &m)
template<class Char , class Traits , class A >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const Slice< A > &s)
void element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, IntVar z, IntConLevel icl)
void element (Home home, const Matrix< IntArgs > &m, IntVar x, IntVar y, BoolVar z, IntConLevel icl)
void element (Home home, const Matrix< IntVarArgs > &m, IntVar x, IntVar y, IntVar z, IntConLevel icl)
void element (Home home, const Matrix< BoolVarArgs > &m, IntVar x, IntVar y, BoolVar z, IntConLevel icl)
void element (Home home, const Matrix< IntSetArgs > &m, IntVar x, IntVar y, SetVar z)
void element (Home home, const Matrix< SetVarArgs > &m, IntVar x, IntVar y, SetVar z)
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const REG &r)
SetExpr operator& (const SetExpr &, const SetExpr &)
 Intersection of set expressions.
SetExpr operator| (const SetExpr &, const SetExpr &)
 Union of set expressions.
SetExpr operator+ (const SetExpr &, const SetExpr &)
 Disjoint union of set expressions.
SetExpr operator- (const SetExpr &)
 Complement expression.
SetExpr operator- (const SetExpr &, const SetExpr &)
 Difference of set expressions.
SetExpr singleton (const LinExpr &)
 Singleton expression.
SetExpr inter (const SetVarArgs &)
 Intersection of set variables.
SetExpr setunion (const SetVarArgs &)
 Union of set variables.
SetExpr setdunion (const SetVarArgs &)
 Disjoint union of set variables.
LinExpr cardinality (const SetExpr &)
 Cardinality of set expression.
LinExpr min (const SetExpr &)
 Minimum element of set expression.
LinExpr max (const SetExpr &)
 Minimum element of set expression.
SetVar expr (Home home, const SetExpr &e)
 Post set expression and return its value.
SetRel operator== (const SetExpr &, const SetExpr &)
 Equality of set expressions.
SetRel operator!= (const SetExpr &, const SetExpr &)
 Disequality of set expressions.
SetCmpRel operator<= (const SetExpr &, const SetExpr &)
 Subset of set expressions.
BoolExpr operator<= (const SetCmpRel &, const SetExpr &)
 Subset of set expressions.
SetCmpRel operator>= (const SetExpr &, const SetExpr &)
 Superset of set expressions.
BoolExpr operator>= (const SetCmpRel &, const SetExpr &)
 Superset of set expressions.
SetRel operator|| (const SetExpr &, const SetExpr &)
 Disjointness of set expressions.
BoolVar channel (Home home, IntVar x, IntConLevel icl=ICL_DEF)
 Return Boolean variable equal to $x$.
IntVar channel (Home home, BoolVar b, IntConLevel icl=ICL_DEF)
 Return integer variable equal to $b$.
SetVar channel (Home home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Return set variable equal to $\{x_0,\dots,x_{n-1}\}$.
void atmost (Home home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq m$.
void atmost (Home home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq m$.
void atmost (Home home, const IntVarArgs &x, const IntArgs &y, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\leq m$.
void atmost (Home home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq z$.
void atmost (Home home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq z$.
void atmost (Home home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\leq z$.
void atleast (Home home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq m$.
void atleast (Home home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq m$.
void atleast (Home home, const IntVarArgs &x, const IntArgs &y, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\geq m$.
void atleast (Home home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq z$.
void atleast (Home home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq z$.
void atleast (Home home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\geq z$.
void exactly (Home home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=m$.
void exactly (Home home, const IntVarArgs &x, IntVar y, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=m$.
void exactly (Home home, const IntVarArgs &x, const IntArgs &y, int m, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}=m$.
void exactly (Home home, const IntVarArgs &x, int n, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=z$.
void exactly (Home home, const IntVarArgs &x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=z$.
void exactly (Home home, const IntVarArgs &x, const IntArgs &y, IntVar z, IntConLevel icl=ICL_DEF)
 Post constraint $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}=z$.
void lex (Home home, const IntVarArgs &x, IntRelType r, const IntVarArgs &y, IntConLevel icl=ICL_DEF)
 Post lexical order between x and y.
void lex (Home home, const BoolVarArgs &x, IntRelType r, const BoolVarArgs &y, IntConLevel icl=ICL_DEF)
 Post lexical order between x and y.
void values (Home home, const IntVarArgs &x, IntSet y, IntConLevel icl=ICL_DEF)
 Post constraint $\{x_0,\dots,x_{n-1}\}=y$.
void channel (Home home, const IntVarArgs &x, SetVar y)
 Post constraint $\{x_0,\dots,x_{n-1}\}=y$.
void range (Home home, const IntVarArgs &x, SetVar y, SetVar z)
 Post constraint $\bigcup_{i\in y}\{x_i\}=z$.
void roots (Home home, const IntVarArgs &x, SetVar y, SetVar z)
 Post constraint $\bigcup_{i\in z}\{j\ |\ x_j=i\}=z$.
template<class T >
T * bab (T *s, const Search::Options &o=Search::Options::def)
 Perform depth-first branch-and-bound search for subclass T of space s and options o.
template<class T >
T * dfs (T *s, const Search::Options &o=Search::Options::def)
 Invoke depth-first search engine for subclass T of space s with options o.
template<class T >
T * restart (T *s, const Search::Options &o=Search::Options::def)
 Perform depth-first restart best solution search for subclass T of space s and options o.
void branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, const VarBranchOptions &o_vars=VarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with variable selection vars and value selection vals.
void branch (Home home, const SetVarArgs &x, const TieBreakVarBranch< SetVarBranch > &vars, SetValBranch vals, const TieBreakVarBranchOptions &o_vars=TieBreakVarBranchOptions::def, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with tie-breaking variable selection vars and value selection vals.
void assign (Home home, const SetVarArgs &x, SetAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign all x with value selection vals.
void branch (Home home, SetVar x, SetValBranch vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Branch over x with value selection vals.
void assign (Home home, SetVar x, SetAssign vals, const ValBranchOptions &o_vals=ValBranchOptions::def)
 Assign x with value selection vals.
void cardinality (Home home, SetVar x, unsigned int i, unsigned int j)
 Propagates $ i \leq |s| \leq j $.
void cardinality (Home home, SetVar s, IntVar x)
 Post propagator for $ |s|=x $.
void convex (Home home, SetVar x)
 Post propagator that propagates that x is convex.
void convex (Home home, SetVar x, SetVar y)
 Post propagator that propagates that y is the convex hull of x.
void atmostOne (Home 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 dom (Home home, SetVar x, SetRelType r, int i)
 Propagates $ x \sim_r \{i\}$.
void dom (Home home, SetVar x, SetRelType r, int i, int j)
 Propagates $ x \sim_r \{i,\dots,j\}$.
void dom (Home home, SetVar x, SetRelType r, const IntSet &s)
 Propagates $ x \sim_r s$.
void dom (Home home, SetVar x, SetRelType r, int i, BoolVar b)
 Post propagator for $ (x \sim_r \{i\}) \Leftrightarrow b $.
void dom (Home home, SetVar x, SetRelType r, int i, int j, BoolVar b)
 Post propagator for $ (x \sim_r \{i,\dots,j\}) \Leftrightarrow b $.
void dom (Home home, SetVar x, SetRelType r, const IntSet &s, BoolVar b)
 Post propagator for $ (x \sim_r s) \Leftrightarrow b $.
void element (Home home, SetOpType op, const SetVarArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max))
 Post propagator for $ z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] $.
void element (Home home, SetOpType op, const IntVarArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max))
 Post propagator for $ z=\diamond_{\mathit{op}}\langle \{x_0\},\dots,\{x_{n-1}\}\rangle[y] $.
void element (Home home, SetOpType op, const IntSetArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max))
 Post propagator for $ z=\diamond_{\mathit{op}}\langle x_0,\dots,x_{n-1}\rangle[y] $.
void element (Home home, SetOpType op, const IntArgs &x, SetVar y, SetVar z, const IntSet &u=IntSet(Set::Limits::min, Set::Limits::max))
 Post propagator for $ z=\diamond_{\mathit{op}}\langle \{x_0\},\dots,\{x_{n-1}\}\rangle[y] $.
void element (Home home, const SetVarArgs &x, IntVar y, SetVar z)
 Post propagator for $ z=\langle x_0,\dots,x_{n-1}\rangle[y] $.
void element (Home home, const IntSetArgs &s, IntVar y, SetVar z)
 Post propagator for $ z=\langle s_0,\dots,s_{n-1}\rangle[y] $.
void element (Home home, const IntSetArgs &a, IntVar x, int w, IntVar y, int h, SetVar z)
 Post propagator for $ a_{x+w\cdot y}=z$.
void element (Home home, const SetVarArgs &a, IntVar x, int w, IntVar y, int h, SetVar z)
 Post propagator for $ a_{x+w\cdot y}=z$.
void wait (Home home, SetVar x, void(*c)(Space &home))
 Execute c when x becomes assigned.
void wait (Home home, const SetVarArgs &x, void(*c)(Space &home))
 Execute c when all variables in x become assigned.
void rel (Home home, SetVar s, IntRelType r, IntVar x)
 Post propagator for $|s|\geq 1 \land \forall i\in s:\ i \sim_r x$.
void rel (Home home, IntVar x, IntRelType r, SetVar s)
 Post propagator for $|s|\geq 1 \land \forall i\in s:\ x \sim_r i$.
void min (Home home, SetVar s, IntVar x)
 Post propagator that propagates that x is the minimal element of s, and that s is not empty.
void notMin (Home home, SetVar s, IntVar x)
 Post propagator that propagates that x is not the minimal element of s.
void min (Home home, SetVar s, IntVar x, BoolVar b)
 Post reified propagator for b iff x is the minimal element of s.
void max (Home home, SetVar s, IntVar x)
 Post propagator that propagates that x is the maximal element of s, and that s is not empty.
void notMax (Home home, SetVar s, IntVar x)
 Post propagator that propagates that x is not the maximal element of s.
void max (Home home, SetVar s, IntVar x, BoolVar b)
 Post reified propagator for b iff x is the maximal element of s.
void channelSorted (Home home, const IntVarArgs &x, SetVar y)
 Post propagator for $\{x_0,\dots,x_{n-1}\}=y$ and $x_i<x_{i+1}$.
void channel (Home home, const IntVarArgs &x, const SetVarArgs &y)
 Post propagator for $x_i=j \Leftrightarrow i\in y_j$.
void channel (Home home, const BoolVarArgs &x, SetVar y)
 Post propagator for $x_i=1 \Leftrightarrow i\in y$.
void weights (Home home, IntSharedArray elements, IntSharedArray weights, SetVar x, IntVar y)
 Post propagator for $y = \mathrm{weight}(x)$.
void precede (Home home, const SetVarArgs &x, int s, int t)
 Post propagator that s precedes t in x.
void precede (Home home, const SetVarArgs &x, const IntArgs &c)
 Post propagator that successive values in c precede each other in x.
template<class View0 , class View1 >
bool viewarrayshared (const Space &home, const ViewArray< View0 > &va, const View1 &y)
template<>
bool viewarrayshared< Set::SingletonView, Set::SetView > (const Space &, const ViewArray< Set::SingletonView > &, const Set::SetView &)
void rel (Home 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 (Home 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 (Home 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 (Home 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 (Home 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 (Home home, SetOpType op, const IntVarArgs &x, SetVar y)
 Post propagator for $ y = \diamond_{\mathit{op}} x$.
void rel (Home home, SetOpType op, const IntVarArgs &x, const IntSet &z, SetVar y)
 Post propagator for $ y = \diamond_{\mathit{op}} x \diamond_{\mathit{op}} z$.
void rel (Home home, SetVar x, SetOpType op, SetVar y, SetRelType r, SetVar z)
 Post propagator for $ (x \diamond_{\mathit{op}} y) \sim_r z $.
void rel (Home home, SetOpType op, const SetVarArgs &x, SetVar y)
 Post propagator for $ y = \diamond_{\mathit{op}} x$.
void rel (Home home, SetOpType op, const SetVarArgs &x, const IntSet &z, SetVar y)
 Post propagator for $ y = \diamond_{\mathit{op}} x \diamond_{\mathit{op}} z$.
template<class View0 , class View1 >
void rel_post (Home home, View0 x0, SetRelType r, View1 x1)
template<class View0 , class View1 >
void rel_re (Home home, View0 x, SetRelType r, View1 y, BoolVar b)
void rel (Home home, SetVar x, SetRelType r, SetVar y)
 Post propagator for $ x \sim_r y$.
void rel (Home home, SetVar s, SetRelType r, IntVar x)
 Post propagator for $ s \sim_r \{x\}$.
void rel (Home home, IntVar x, SetRelType r, SetVar s)
 Post propagator for $ \{x\} \sim_r s$.
void rel (Home home, SetVar x, SetRelType r, SetVar y, BoolVar b)
 Post propagator for $ (x \sim_r y) \Leftrightarrow b $.
void rel (Home home, SetVar s, SetRelType r, IntVar x, BoolVar b)
 Post propagator for $ (s \sim_r \{x\}) \Leftrightarrow b $.
void rel (Home home, IntVar x, SetRelType r, SetVar s, BoolVar b)
 Post propagator for $ (\{x\} \sim_r s) \Leftrightarrow b $.
void sequence (Home home, const SetVarArgs &x)
 Post propagator for $\forall 0\leq i< |x|-1 : \max(x_i)<\min(x_{i+1})$.
void sequence (Home 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 Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const SetVar &x)

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 PropCond PC_GEN_NONE = -1
 Propagation condition to be ignored (convenience).
const PropCond PC_GEN_ASSIGNED = 0
 Propagation condition for an assigned variable.
Heap heap
 The single global heap.

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.


Enumeration Type Documentation

Enumerator:
__ES_SUBSUMED 

Internal: propagator is subsumed, do not use.

ES_FAILED 

Execution has resulted in failure.

ES_NOFIX 

Propagation has not computed fixpoint.

ES_OK 

Execution is okay.

ES_FIX 

Propagation has computed fixpoint.

ES_NOFIX_FORCE 

Advisor forces rescheduling of propagator.

__ES_PARTIAL 

Internal: propagator has computed partial fixpoint, do not use.

Definition at line 518 of file core.hpp.


Function Documentation

Archive& Gecode::operator>> ( Archive &  e,
Gecode::Int::Branch::NoValue  
) [inline]

Definition at line 187 of file branch.hh.

Archive& Gecode::operator<< ( Archive &  e,
const Gecode::Int::Branch::NoValue  
) [inline]

Definition at line 191 of file branch.hh.

template<class Cap >
void Gecode::cumulative ( Home  home,
Cap  c,
const TaskTypeArgs &  t,
const IntVarArgs &  s,
const IntArgs &  p,
const IntArgs &  u,
IntConLevel  icl 
) [inline]

Definition at line 45 of file cumulative.cpp.

template<class Cap >
void Gecode::cumulative ( Home  home,
Cap  c,
const TaskTypeArgs &  t,
const IntVarArgs &  s,
const IntArgs &  p,
const IntArgs &  u,
const BoolVarArgs &  m,
IntConLevel  icl 
) [inline]

Definition at line 120 of file cumulative.cpp.

template<class Cap >
void Gecode::cumulative ( Home  home,
Cap  c,
const IntVarArgs &  s,
const IntArgs &  p,
const IntArgs &  u,
IntConLevel  icl 
) [inline]

Definition at line 190 of file cumulative.cpp.

template<class Cap >
void Gecode::cumulative ( Home  home,
Cap  c,
const IntVarArgs &  s,
const IntArgs &  p,
const IntArgs &  u,
const BoolVarArgs &  m,
IntConLevel  icl 
) [inline]

Definition at line 250 of file cumulative.cpp.

template<class Cap >
void Gecode::cumulative ( Home  home,
Cap  c,
const IntVarArgs &  s,
const IntVarArgs &  p,
const IntVarArgs &  e,
const IntArgs &  u,
IntConLevel  icl 
) [inline]

Definition at line 306 of file cumulative.cpp.

template<class Cap >
void Gecode::cumulative ( Home  home,
Cap  c,
const IntVarArgs &  s,
const IntVarArgs &  p,
const IntVarArgs &  e,
const IntArgs &  u,
const BoolVarArgs &  m,
IntConLevel  icl 
) [inline]

Definition at line 369 of file cumulative.cpp.

template<class Char , class Traits >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const DFA &  d 
) [related]

Definition at line 249 of file dfa.hpp.

template<class Char , class Traits , class T >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const TupleSet &  ts 
) [related]

Definition at line 165 of file tuple-set.hpp.

template<class Char , class Traits >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const IntSet &  is 
) [related]

Definition at line 227 of file int-set-1.hpp.

template<class Char , class Traits >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const IntVar &  x 
) [related]

Definition at line 42 of file print.hpp.

template<class Char , class Traits >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const BoolVar &  x 
) [related]

Definition at line 49 of file print.hpp.

template<class T1 , class T2 >
bool Gecode::operator== ( space_allocator< T1 > const &  al1,
space_allocator< T2 > const &  al2 
) throw () [inline]

Tests two space allocators for equality.

Two allocators are equal when each can release storage allocated from the other.

Definition at line 292 of file allocators.hpp.

template<class T1 , class T2 >
bool Gecode::operator!= ( space_allocator< T1 > const &  al1,
space_allocator< T2 > const &  al2 
) throw () [inline]

Tests two space allocators for inequality.

Two allocators are equal when each can release storage allocated from the other.

Definition at line 304 of file allocators.hpp.

template<class T1 , class T2 >
bool Gecode::operator== ( region_allocator< T1 > const &  al1,
region_allocator< T2 > const &  al2 
) throw () [inline]

Definition at line 457 of file allocators.hpp.

template<class T1 , class T2 >
bool Gecode::operator!= ( region_allocator< T1 > const &  al1,
region_allocator< T2 > const &  al2 
) throw () [inline]

Definition at line 469 of file allocators.hpp.

Archive& Gecode::operator<< ( Archive &  e,
unsigned int  i 
) [related]

Definition at line 199 of file archive.hpp.

Archive& Gecode::operator<< ( Archive &  e,
int  i 
) [related]

Definition at line 204 of file archive.hpp.

Archive& Gecode::operator<< ( Archive &  e,
unsigned short  i 
) [related]

Definition at line 209 of file archive.hpp.

Archive& Gecode::operator<< ( Archive &  e,
short  i 
) [related]

Definition at line 214 of file archive.hpp.

Archive& Gecode::operator<< ( Archive &  e,
unsigned char  i 
) [related]

Definition at line 219 of file archive.hpp.

Archive& Gecode::operator<< ( Archive &  e,
char  i 
) [related]

Definition at line 224 of file archive.hpp.

Archive& Gecode::operator<< ( Archive &  e,
bool  i 
) [related]

Definition at line 229 of file archive.hpp.

Archive& Gecode::operator<< ( Archive &  e,
float  d 
) [related]

Definition at line 234 of file archive.hpp.

Archive& Gecode::operator<< ( Archive &  e,
double  d 
) [related]

Definition at line 240 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
unsigned int &  i 
) [related]

Definition at line 247 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
int &  i 
) [related]

Definition at line 252 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
unsigned short &  i 
) [related]

Definition at line 257 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
short &  i 
) [related]

Definition at line 262 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
unsigned char &  i 
) [related]

Definition at line 267 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
char &  i 
) [related]

Definition at line 272 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
bool &  i 
) [related]

Definition at line 277 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
float &  d 
) [related]

Definition at line 282 of file archive.hpp.

Archive& Gecode::operator>> ( Archive &  e,
double &  d 
) [related]

Definition at line 289 of file archive.hpp.

template<class Var >
ArrayTraits<VarArray<Var> >::ArgsType Gecode::operator+ ( const VarArray< Var > &  x,
const VarArray< Var > &  y 
) [inline]

Definition at line 1087 of file array.hpp.

template<class Var >
ArrayTraits<VarArray<Var> >::ArgsType Gecode::operator+ ( const VarArray< Var > &  x,
const VarArgArray< Var > &  y 
) [inline]

Definition at line 1098 of file array.hpp.

template<class Var >
ArrayTraits<VarArray<Var> >::ArgsType Gecode::operator+ ( const VarArgArray< Var > &  x,
const VarArray< Var > &  y 
) [inline]

Definition at line 1109 of file array.hpp.

template<class Var >
ArrayTraits<VarArray<Var> >::ArgsType Gecode::operator+ ( const VarArray< Var > &  x,
const Var &  y 
) [inline]

Definition at line 1120 of file array.hpp.

template<class Var >
ArrayTraits<VarArray<Var> >::ArgsType Gecode::operator+ ( const Var &  x,
const VarArray< Var > &  y 
) [inline]

Definition at line 1130 of file array.hpp.

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

Definition at line 1420 of file array.hpp.

template<class X , class Y >
bool Gecode::__same ( const X &  x,
const Y &  y 
) [inline]

Definition at line 1439 of file array.hpp.

template<class X , class Y >
bool Gecode::__shared ( const X &  x,
const Y &  y 
) [inline]

Definition at line 1444 of file array.hpp.

template<class T >
ArrayTraits<PrimArgArray<T> >::ArgsType Gecode::operator+ ( const PrimArgArray< T > &  x,
const PrimArgArray< T > &  y 
) [inline]

Definition at line 1821 of file array.hpp.

template<class T >
ArrayTraits<PrimArgArray<T> >::ArgsType Gecode::operator+ ( const PrimArgArray< T > &  x,
const T &  y 
) [inline]

Definition at line 1828 of file array.hpp.

template<class T >
ArrayTraits<PrimArgArray<T> >::ArgsType Gecode::operator+ ( const T &  x,
const PrimArgArray< T > &  y 
) [inline]

Definition at line 1835 of file array.hpp.

template<class T >
ArrayTraits<ArgArray<T> >::ArgsType Gecode::operator+ ( const ArgArray< T > &  x,
const ArgArray< T > &  y 
) [inline]

Definition at line 1892 of file array.hpp.

template<class T >
ArrayTraits<ArgArray<T> >::ArgsType Gecode::operator+ ( const ArgArray< T > &  x,
const T &  y 
) [inline]

Definition at line 1899 of file array.hpp.

template<class T >
ArrayTraits<ArgArray<T> >::ArgsType Gecode::operator+ ( const T &  x,
const ArgArray< T > &  y 
) [inline]

Definition at line 1906 of file array.hpp.

template<class Var >
ArrayTraits<VarArgArray<Var> >::ArgsType Gecode::operator+ ( const VarArgArray< Var > &  x,
const VarArgArray< Var > &  y 
) [inline]

Definition at line 1965 of file array.hpp.

template<class Var >
ArrayTraits<VarArgArray<Var> >::ArgsType Gecode::operator+ ( const VarArgArray< Var > &  x,
const Var &  y 
) [inline]

Definition at line 1972 of file array.hpp.

template<class Var >
ArrayTraits<VarArgArray<Var> >::ArgsType Gecode::operator+ ( const Var &  x,
const VarArgArray< Var > &  y 
) [inline]

Definition at line 1979 of file array.hpp.

template<class Char , class Traits , class Var >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const VarArray< Var > &  x 
) [related]

Definition at line 2085 of file array.hpp.

template<class Char , class Traits , class View >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const ViewArray< View > &  x 
) [related]

Definition at line 2101 of file array.hpp.

template<class Char , class Traits , class T >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const ArgArrayBase< T > &  x 
) [related]

Definition at line 2117 of file array.hpp.

template<class Char , class Traits , class T >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const SharedArray< T > &  x 
) [related]

Definition at line 329 of file shared-array.hpp.

template<class ViewA , class ViewB >
bool Gecode::same ( const ConstView< ViewA > &  ,
const ConstView< ViewB > &   
) [inline]

Test whether two views are the same.

Definition at line 603 of file view.hpp.

template<class Var , class View >
bool Gecode::same ( const VarImpView< Var > &  ,
const ConstView< View > &   
) [inline]

Test whether two views are the same.

Definition at line 609 of file view.hpp.

template<class ViewA , class ViewB >
bool Gecode::same ( const ConstView< ViewA > &  ,
const DerivedView< ViewB > &   
) [inline]

Test whether two views are the same.

Definition at line 615 of file view.hpp.

template<class Var , class View >
bool Gecode::same ( const VarImpView< Var > &  ,
const DerivedView< View > &   
) [inline]

Test whether two views are the same.

Definition at line 621 of file view.hpp.

template<class View , class Var >
bool Gecode::same ( const DerivedView< View > &  ,
const VarImpView< Var > &   
) [inline]

Test whether two views are the same.

Definition at line 627 of file view.hpp.

template<class Var >
bool Gecode::same ( const VarImpView< Var > &  x,
const VarImpView< Var > &  y 
) [inline]

Test whether two views are the same.

Definition at line 633 of file view.hpp.

template<class ViewA , class ViewB >
bool Gecode::same ( const DerivedView< ViewA > &  x,
const DerivedView< ViewB > &  y 
) [inline]

Test whether two views are the same.

Definition at line 639 of file view.hpp.

template<class ViewA , class ViewB >
bool Gecode::before ( const ViewA &  x,
const ViewB &  y 
) [related]

Definition at line 650 of file view.hpp.

template<class A >
Slice< A >::ArgsType Gecode::operator+ ( const Slice< A > &  x,
const Slice< A > &  y 
) [inline]

Concatenate x and y.

template<class A >
Slice< A >::ArgsType Gecode::operator+ ( const Slice< A > &  x,
const typename ArrayTraits< A >::ArgsType &  y 
) [inline]

Concatenate x and y.

template<class A >
Slice< A >::ArgsType Gecode::operator+ ( const typename ArrayTraits< A >::ArgsType &  x,
const Slice< A > &  y 
) [inline]

Concatenate x and y.

template<class A >
Slice< A >::ArgsType Gecode::operator+ ( const Slice< A > &  x,
const typename ArrayTraits< A >::ValueType &  y 
) [inline]

Concatenate x and y.

template<class A >
Slice< A >::ArgsType Gecode::operator+ ( const typename ArrayTraits< A >::ValueType &  x,
const Slice< A > &  y 
) [inline]

Concatenate x and y.

template<class Char , class Traits , class A >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const Matrix< A > &  m 
) [related]

Definition at line 193 of file matrix.hpp.

template<class Char , class Traits , class A >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const Slice< A > &  s 
) [related]

Definition at line 207 of file matrix.hpp.

void Gecode::element ( Home  home,
const Matrix< IntArgs > &  m,
IntVar  x,
IntVar  y,
IntVar  z,
IntConLevel  icl 
) [related]

Definition at line 212 of file matrix.hpp.

void Gecode::element ( Home  home,
const Matrix< IntArgs > &  m,
IntVar  x,
IntVar  y,
BoolVar  z,
IntConLevel  icl 
) [related]

Definition at line 217 of file matrix.hpp.

void Gecode::element ( Home  home,
const Matrix< IntVarArgs > &  m,
IntVar  x,
IntVar  y,
IntVar  z,
IntConLevel  icl 
) [related]

Definition at line 222 of file matrix.hpp.

void Gecode::element ( Home  home,
const Matrix< BoolVarArgs > &  m,
IntVar  x,
IntVar  y,
BoolVar  z,
IntConLevel  icl 
) [related]

Definition at line 227 of file matrix.hpp.

void Gecode::element ( Home  home,
const Matrix< IntSetArgs > &  m,
IntVar  x,
IntVar  y,
SetVar  z 
) [related]

Definition at line 234 of file matrix.hpp.

void Gecode::element ( Home  home,
const Matrix< SetVarArgs > &  m,
IntVar  x,
IntVar  y,
SetVar  z 
) [related]

Definition at line 239 of file matrix.hpp.

template<class Char , class Traits >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const REG &  r 
) [related]

Definition at line 87 of file reg.hpp.

template<class T >
T * Gecode::dfs ( T *  s,
const Search::Options &  o 
) [inline]

Invoke depth-first search engine for subclass T of space s with options o.

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

Definition at line 51 of file common.hpp.

template<>
bool Gecode::viewarrayshared< Set::SingletonView, Set::SetView > ( const Space &  ,
const ViewArray< Set::SingletonView > &  ,
const Set::SetView &   
) [inline]
template<class View0 , class View1 >
void Gecode::rel_post ( Home  home,
View0  x0,
SetRelType  r,
View1  x1 
) [inline]

Definition at line 52 of file rel.cpp.

template<class View0 , class View1 >
void Gecode::rel_re ( Home  home,
View0  x,
SetRelType  r,
View1  y,
BoolVar  b 
) [inline]

Definition at line 113 of file rel.cpp.

template<class Char , class Traits >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const SetVar &  x 
) [related]

Definition at line 42 of file print.hpp.


Variable Documentation

The single global heap.

Definition at line 45 of file heap.cpp.