Generated on Fri Mar 20 15:56:42 2015 for Gecode by doxygen 1.6.3

Gecode Namespace Reference
[Linear expressions and relations]

Gecode toplevel namespace More...

Namespaces

namespace  Support
 

Support algorithms and datastructures


namespace  Kernel
 

Kernel functionality


namespace  Search
 

Search engines


namespace  Driver
 

Script commandline driver.


namespace  FlatZinc
 

Interpreter for the FlatZinc language.


namespace  Float
 

Floating point numbers.


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.


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< FloatVar > >
 Traits of FloatVarArgs. More...
class  ArrayTraits< VarArray< FloatVar > >
 Traits of FloatVarArray. More...
class  ArrayTraits< PrimArgArray< FloatVal > >
 Traits of FloatValArgs. More...
class  ArrayTraits< FloatVarArray >
 Traits of FloatVarArray. More...
class  ArrayTraits< FloatVarArgs >
 Traits of FloatVarArgs. More...
class  ArrayTraits< FloatValArgs >
 Traits of FloatValArgs. More...
class  BranchTraits< FloatVar >
 Traits of FloatVar for branching. More...
class  FloatVal
 Float value type. More...
class  FloatVar
 Float variables. More...
class  FloatValArgs
 Passing float arguments. More...
class  FloatVarArgs
 Passing float variables. More...
class  FloatVarArray
 Float variable array. More...
class  FloatNumBranch
 Value description class for branching. More...
class  FloatAFC
 Recording AFC information for float variables. More...
class  FloatActivity
 Recording activities for float variables. More...
class  FloatVarBranch
 Which variable to select for branching. More...
class  FloatValBranch
 Which values to select for branching first. More...
class  FloatAssign
 Which values to select for assignment. 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  BranchTraits< IntVar >
 Traits of IntVar for branching. More...
class  BranchTraits< BoolVar >
 Traits of BoolVar for branching. More...
class  IntSetInit
 Integer set initialization. More...
class  IntSetInit< IntSet >
 Initialize integer set with integer set. More...
class  IntSetInit< IntArgs >
 Initialize integer set with integer arguments. More...
class  ArrayTraits< ArgArray< VarImpBase * > >
 Traits of ArgArray<VarImpBase*> More...
class  ArrayTraits< LiteralArgs >
 Traits of LiteralArgs. More...
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  Reify
 Reification specification. 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  IntAFC
 Recording AFC information for integer and Boolean variables. More...
class  IntActivity
 Recording activities for integer and Boolean variables. More...
class  IntVarBranch
 Which variable to select for branching. More...
class  IntValBranch
 Which values to select for branching first. More...
class  IntAssign
 Which values to select for assignment. More...
class  SymmetryHandle
 A reference-counted pointer to a SymmetryObject. More...
class  ArrayTraits< ArgArray< SymmetryHandle > >
 Traits of Symmetries. More...
class  Symmetries
 Collection of symmetries. More...
class  Activity
 Class for activity management. More...
class  ViewAdvisor
 Advisor storing a single view More...
class  AFC
 Class for AFC (accumulated failure count) management. 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  TieBreak
 Combine variable selection criteria for tie-breaking. More...
class  BranchTraits
 Traits for branching. More...
class  ValBranch
 Value branching information. More...
class  VarBranch
 Variable branching information. More...
class  FunctionBranch
 Brancher for calling a function More...
class  MeritBase
 Base-class for merit class. More...
class  MeritFunction
 Merit class for user-defined merit function. More...
class  MeritDegree
 Merit class for degree. More...
class  MeritAFC
 Merit class for AFC. More...
class  MeritActivity
 Merit class for activity. More...
class  ValCommit
 Base class for value commit. More...
class  ValCommitFunction
 Class for user-defined value commit. More...
class  ValSelCommitBase
 Base class for value selection and commit. More...
class  ValSelCommit
 Class for value selection and commit. More...
class  ValSel
 Base class for value selection. More...
class  ValSelFunction
 User-defined value selection. More...
class  ViewSel
 Abstract class for view selection. More...
class  ViewSelNone
 Select the first unassigned view. More...
class  ViewSelRnd
 Select a view randomly. More...
class  ChooseMin
 Choose views with smaller merit values. More...
class  ChooseMax
 Choose views with larger merit values. More...
class  ViewSelChoose
 Choose view according to merit. More...
class  ViewSelChooseTbl
 Choose view according to merit taking tie-break limit into account. More...
class  ViewSelMin
 Select view with least merit. More...
class  ViewSelMinTbl
 Select view with least merit taking tie-break limit into account. More...
class  ViewSelMax
 Select view with largest merit. More...
class  ViewSelMaxTbl
 Select view with largest merit taking tie-break limit into account. More...
class  PosValChoice
 Choice storing position and value More...
class  ViewValNGL
 View-value no-good literal. More...
class  ViewValBrancher
 Generic brancher by view and value selection. More...
class  Pos
 Position information. More...
class  PosChoice
 Choices storing position More...
class  ViewBrancher
 Generic brancher by view selection. 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  NGL
 No-good literal recorded during search. More...
class  Choice
 Choice for performing commit More...
class  Brancher
 Base-class for branchers. More...
class  BrancherHandle
 Handle for brancher. More...
class  LocalObject
 Local (space-shared) object. More...
class  LocalHandle
 Handles for local (space-shared) objects. More...
class  NoGoods
 No-goods recorded from restarts. More...
class  CRI
 Current restart information during search. 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  SpaceNotCloned
 Exception: Copy constructor did not call base class copy constructor More...
class  SpaceNoBrancher
 Exception: Commit when no brancher present More...
class  SpaceIllegalAlternative
 Exception: Commit with illegal alternative More...
class  TooManyBranchers
 Exception: too many branchers More...
class  IllegalDecay
 Exception: illegal decay factor More...
class  UninitializedAFC
 Exception: uninitialized AFC More...
class  UninitializedActivity
 Exception: uninitialized activity More...
class  UninitializedRnd
 Exception: uninitialized random number generator More...
class  AFCWrongArity
 Exception: AFC has wrong arity More...
class  ActivityWrongArity
 Exception: activity has wrong arity More...
class  GlobalAFC
 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  Rnd
 Random number generator. 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  NonLinIntExpr
 Base class for non-linear expressions over integer variables. More...
class  LinIntExpr
 Linear expressions over integer variables. More...
class  LinIntRel
 Linear relations over integer variables. More...
class  NonLinFloatExpr
 Base class for non-linear float expressions. More...
class  LinFloatExpr
 Float expressions More...
class  LinFloatRel
 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  IntMinimizeSpace
 Class for minimizing integer cost. More...
class  IntMaximizeSpace
 Class for maximizing integer cost. More...
class  FloatMinimizeSpace
 Class for minimizing float cost. More...
class  FloatMaximizeSpace
 Class for maximizing float cost. More...
class  DFS
 Depth-first search engine. More...
class  BAB
 Depth-first branch-and-bound search engine. More...
class  RBS
 Meta-engine performing restart-based search. 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  BranchTraits< SetVar >
 Traits of SetVar for branching. 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  SetAFC
 Recording AFC information for set variables. More...
class  SetActivity
 Recording activities for set variables. More...
class  SetVarBranch
 Which variable to select for branching. More...
class  SetValBranch
 Which values to select for branching first. More...
class  SetAssign
 Which value to select for assignment. 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
< Driver::IgnoreStepOption
< Space > > 
Script
 Base-class for scripts.
typedef Driver::ScriptBase
< Driver::IgnoreStepOption
< MinimizeSpace > > 
MinimizeScript
 Base-class for scripts for finding solution of lowest integer cost.
typedef Driver::ScriptBase
< Driver::IgnoreStepOption
< MaximizeSpace > > 
MaximizeScript
 Base-class for scripts for finding solution of highest integer cost.
typedef Driver::ScriptBase
< Driver::IgnoreStepOption
< IntMinimizeSpace > > 
IntMinimizeScript
 Base-class for scripts for finding solution of lowest integer cost.
typedef Driver::ScriptBase
< Driver::IgnoreStepOption
< IntMaximizeSpace > > 
IntMaximizeScript
 Base-class for scripts for finding solution of highest integer cost.
typedef Driver::ScriptBase
< Driver::ExtractStepOption
< FloatMinimizeSpace > > 
FloatMinimizeScript
 Base-class for scripts for finding solution of lowest float cost.
typedef Driver::ScriptBase
< Driver::ExtractStepOption
< FloatMaximizeSpace > > 
FloatMaximizeScript
 Base-class for scripts for finding solution of highest float cost.
typedef double FloatNum
 Floating point number base type.
typedef bool(* FloatBranchFilter )(const Space &home, FloatVar x, int i)
 Branch filter function type for float variables.
typedef double(* FloatBranchMerit )(const Space &home, FloatVar x, int i)
 Branch merit function type for float variables.
typedef FloatNumBranch(* FloatBranchVal )(const Space &home, FloatVar x, int i)
 Branch value function type for float variables.
typedef void(* FloatBranchCommit )(Space &home, unsigned int a, FloatVar x, int i, FloatNumBranch nl)
 Branch commit function type for float variables.
typedef void(* FloatVarValPrint )(const Space &home, const BrancherHandle &bh, unsigned int a, FloatVar x, int i, const FloatNumBranch &n, std::ostream &o)
 Function type for explaining branching alternatives for set variables.
typedef ArgArray
< Int::LDSB::Literal
LiteralArgs
 An array of literals.
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(* IntBranchFilter )(const Space &home, IntVar x, int i)
 Branch filter function type for integer variables.
typedef bool(* BoolBranchFilter )(const Space &home, BoolVar x, int i)
 Branch filter function type for Boolean variables.
typedef double(* IntBranchMerit )(const Space &home, IntVar x, int i)
 Branch merit function type for integer variables.
typedef double(* BoolBranchMerit )(const Space &home, BoolVar x, int i)
 Branch merit function type for Boolean variables.
typedef int(* IntBranchVal )(const Space &home, IntVar x, int i)
 Branch value function type for integer variables.
typedef int(* BoolBranchVal )(const Space &home, BoolVar x, int i)
 Branch value function type for Boolean variables.
typedef void(* IntBranchCommit )(Space &home, unsigned int a, IntVar x, int i, int n)
 Branch commit function type for integer variables.
typedef void(* BoolBranchCommit )(Space &home, unsigned int a, BoolVar x, int i, int n)
 Branch commit function type for Boolean variables.
typedef void(* IntVarValPrint )(const Space &home, const BrancherHandle &bh, unsigned int a, IntVar x, int i, const int &n, std::ostream &o)
 Function type for printing branching alternatives for integer variables.
typedef void(* BoolVarValPrint )(const Space &home, const BrancherHandle &bh, unsigned int a, BoolVar x, int i, const int &n, std::ostream &o)
 Function type for printing branching alternatives for Boolean variables.
typedef double(* BranchTbl )(const Space &home, double w, double b)
 Tie-break limit function.
typedef int ModEvent
 Type for modification events.
typedef int PropCond
 Type for propagation conditions.
typedef int ModEventDelta
 Modification event deltas.
typedef IntMinimizeSpace MinimizeSpace
 Class for minimizing integer cost.
typedef IntMaximizeSpace MaximizeSpace
 Class for maximizing integer cost.
typedef bool(* SetBranchFilter )(const Space &home, SetVar x, int i)
 Branch filter function type for set variables.
typedef double(* SetBranchMerit )(const Space &home, SetVar x, int i)
 Branch merit function type for set variables.
typedef int(* SetBranchVal )(const Space &home, SetVar x, int i)
 Branch value function type for set variables.
typedef void(* SetBranchCommit )(Space &home, unsigned int a, SetVar x, int i, int n)
 Branch commit function type for set variables.
typedef void(* SetVarValPrint )(const Space &home, const BrancherHandle &bh, unsigned int a, SetVar x, int i, const int &n, std::ostream &o)
 Function type for printing branching alternatives for set variables.
typedef void(* VoidFunction )(void)
 Base type for any function pointer.

Enumerations

enum  ScriptMode { SM_SOLUTION, SM_TIME, SM_STAT, SM_GIST }
 

Different modes for executing scripts.

More...
enum  RestartMode {
  RM_NONE, RM_CONSTANT, RM_LINEAR, RM_LUBY,
  RM_GEOMETRIC
}
 

Different modes for restart-based search.

More...
enum  FloatRelType {
  FRT_EQ, FRT_NQ, FRT_LQ, FRT_LE,
  FRT_GQ, FRT_GR
}
 

Relation types for floats.

More...
enum  ReifyMode { RM_EQV, RM_IMP, RM_PMI }
 

Mode for reification.

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  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...

Functions

void abs (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ |x_0|=x_1$.
void max (Home home, FloatVar x0, FloatVar x1, FloatVar x2)
 Post propagator for $ \max\{x_0,x_1\}=x_2$.
void max (Home home, const FloatVarArgs &x, FloatVar y)
 Post propagator for $ \max x=y$ If x is empty, an exception of type Float::TooFewArguments is thrown.
void min (Home home, FloatVar x0, FloatVar x1, FloatVar x2)
 Post propagator for $ \min\{x_0,x_1\}=x_2$.
void min (Home home, const FloatVarArgs &x, FloatVar y)
 Post propagator for $ \min x=y$ If x is empty, an exception of type Float::TooFewArguments is thrown.
void mult (Home home, FloatVar x0, FloatVar x1, FloatVar x2)
 Post propagator for $x_0\cdot x_1=x_2$.
void sqr (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $x_0\cdot x_0=x_1$.
void sqrt (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $\sqrt{x_0}=x_1$.
void pow (Home home, FloatVar x0, int n, FloatVar x1)
 Post propagator for ${x_0}^{n}=x_1$ for $n 0$.
void nroot (Home home, FloatVar x0, int n, FloatVar x1)
 Post propagator for ${x_0}^{1/n}=x_1$ for $n 0$.
void div (Home home, FloatVar x0, FloatVar x1, FloatVar x2)
 Post propagator for $x_0\ \mathrm{div}\ x_1=x_2$.
void exp (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{exp}(x_0)=x_1$.
void log (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{log}_e(x_0)=x_1$.
void log (Home home, FloatNum base, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{log}_{\mathit{base}}(x_0)=x_1$.
void pow (Home home, FloatNum base, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathit{base}^{x_0}=x_1$.
void asin (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{asin}(x_0)=x_1$.
void sin (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{sin}(x_0)=x_1$.
void acos (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{acos}(x_0)=x_1$.
void cos (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{cos}(x_0)=x_1$.
void atan (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{atan}(x_0)=x_1$.
void tan (Home home, FloatVar x0, FloatVar x1)
 Post propagator for $ \mathrm{tan}(x_0)=x_1$.
void channel (Home home, FloatVar x0, IntVar x1)
 Post propagator for channeling a float and an integer variable $ x_0 = x_1$.
void channel (Home home, IntVar x0, FloatVar x1)
 Post propagator for channeling a float and an integer variable $ x_0 = x_1$.
FloatAssign FLOAT_ASSIGN_MIN (void)
 Select median value of the lower part.
FloatAssign FLOAT_ASSIGN_MAX (void)
 Select median value of the upper part.
FloatAssign FLOAT_ASSIGN_RND (Rnd r)
 Select median value of a randomly chosen part.
FloatAssign FLOAT_ASSIGN (FloatBranchVal v, FloatBranchCommit c)
Archiveoperator<< (Archive &e, FloatNumBranch nl)
Archiveoperator>> (Archive &e, FloatNumBranch &nl)
FloatValBranch FLOAT_VAL_SPLIT_MIN (void)
 Select values not greater than mean of smallest and largest value.
FloatValBranch FLOAT_VAL_SPLIT_MAX (void)
 Select values greater than mean of smallest and largest value.
FloatValBranch FLOAT_VAL_SPLIT_RND (Rnd r)
 Select values randomly which are not greater or not smaller than mean of largest and smallest value.
FloatValBranch FLOAT_VAL (FloatBranchVal v, FloatBranchCommit c)
FloatVarBranch FLOAT_VAR_NONE (void)
 Select first unassigned variable.
FloatVarBranch FLOAT_VAR_MERIT_MIN (FloatBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with least merit according to branch merit function bm.
FloatVarBranch FLOAT_VAR_MERIT_MAX (FloatBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with highest merit according to branch merit function bm.
FloatVarBranch FLOAT_VAR_RND (Rnd r)
 Select random variable (uniform distribution, for tie breaking).
FloatVarBranch FLOAT_VAR_DEGREE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest degree.
FloatVarBranch FLOAT_VAR_DEGREE_MAX (BranchTbl tbl=NULL)
 Select variable with largest degree.
FloatVarBranch FLOAT_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count with decay factor d.
FloatVarBranch FLOAT_VAR_AFC_MIN (FloatAFC a, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count.
FloatVarBranch FLOAT_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count with decay factor d.
FloatVarBranch FLOAT_VAR_AFC_MAX (FloatAFC a, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count.
FloatVarBranch FLOAT_VAR_ACTIVITY_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with lowest activity with decay factor d.
FloatVarBranch FLOAT_VAR_ACTIVITY_MIN (FloatActivity a, BranchTbl tbl=NULL)
 Select variable with lowest activity.
FloatVarBranch FLOAT_VAR_ACTIVITY_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with highest activity with decay factor d.
FloatVarBranch FLOAT_VAR_ACTIVITY_MAX (FloatActivity a, BranchTbl tbl=NULL)
 Select variable with highest activity.
FloatVarBranch FLOAT_VAR_MIN_MIN (BranchTbl tbl=NULL)
 Select variable with smallest min.
FloatVarBranch FLOAT_VAR_MIN_MAX (BranchTbl tbl=NULL)
 Select variable with largest min.
FloatVarBranch FLOAT_VAR_MAX_MIN (BranchTbl tbl=NULL)
 Select variable with smallest max.
FloatVarBranch FLOAT_VAR_MAX_MAX (BranchTbl tbl=NULL)
 Select variable with largest max.
FloatVarBranch FLOAT_VAR_SIZE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest domain size.
FloatVarBranch FLOAT_VAR_SIZE_MAX (BranchTbl tbl=NULL)
 Select variable with largest domain size.
FloatVarBranch FLOAT_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest degree divided by domain size.
FloatVarBranch FLOAT_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=NULL)
 Select variable with largest degree divided by domain size.
FloatVarBranch FLOAT_VAR_AFC_SIZE_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smalllest accumulated failure count divided by domain size with decay factor d.
FloatVarBranch FLOAT_VAR_AFC_SIZE_MIN (FloatAFC a, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count divided by domain size.
FloatVarBranch FLOAT_VAR_AFC_SIZE_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count divided by domain size with decay factor d.
FloatVarBranch FLOAT_VAR_AFC_SIZE_MAX (FloatAFC a, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count divided by domain size.
FloatVarBranch FLOAT_VAR_ACTIVITY_SIZE_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest activity divided by domain size with decay factor d.
FloatVarBranch FLOAT_VAR_ACTIVITY_SIZE_MIN (FloatActivity a, BranchTbl tbl=NULL)
 Select variable with smallest activity divided by domain size.
FloatVarBranch FLOAT_VAR_ACTIVITY_SIZE_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest activity divided by domain size with decay factor d.
FloatVarBranch FLOAT_VAR_ACTIVITY_SIZE_MAX (FloatActivity a, BranchTbl tbl=NULL)
 Select variable with largest activity divided by domain size.
BrancherHandle branch (Home home, const FloatVarArgs &x, FloatVarBranch vars, FloatValBranch vals, FloatBranchFilter bf=NULL, FloatVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals.
BrancherHandle branch (Home home, const FloatVarArgs &x, TieBreak< FloatVarBranch > vars, FloatValBranch vals, FloatBranchFilter bf=NULL, FloatVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals.
BrancherHandle branch (Home home, FloatVar x, FloatValBranch vals, FloatVarValPrint vvp=NULL)
 Branch over x with value selection vals.
BrancherHandle assign (Home home, const FloatVarArgs &x, FloatAssign vals, FloatBranchFilter fbf=NULL, FloatVarValPrint vvp=NULL)
 Assign all x with value selection vals.
BrancherHandle assign (Home home, FloatVar x, FloatAssign vals, FloatVarValPrint vvp=NULL)
 Assign x with value selection vals.
void dom (Home home, FloatVar x, FloatVal n)
 Propagates $x=n$.
void dom (Home home, const FloatVarArgs &x, FloatVal n)
 Propagates $ x_i=n$ for all $0\leq i<|x|$.
void dom (Home home, FloatVar x, FloatNum l, FloatNum m)
 Propagates $ l\leq x\leq u$.
void dom (Home home, const FloatVarArgs &x, FloatNum l, FloatNum u)
 Propagates $ l\leq x_i\leq u$ for all $0\leq i<|x|$.
void dom (Home home, FloatVar x, FloatVal n, Reify r)
 Post domain consistent propagator for $ (x=n) \equiv r$.
void dom (Home home, FloatVar x, FloatNum l, FloatNum u, Reify r)
 Post domain consistent propagator for $ (l\leq x \leq u) \equiv r$.
void dom (Home home, FloatVar x, FloatVar d)
 Constrain domain of x according to domain of d.
void dom (Home home, const FloatVarArgs &x, const FloatVarArgs &d)
 Constrain domain of $ x_i $ according to domain of $ d_i $ for all $0\leq i<|x|$.
void wait (Home home, FloatVar x, void(*c)(Space &home))
 Execute c when x becomes assigned.
void wait (Home home, const FloatVarArgs &x, void(*c)(Space &home))
 Execute c when all variables in x become assigned.
void linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatNum c)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{frt} c$.
void linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatNum c, Reify r)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{frt} c\right)\equiv r$.
void linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatNum c)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} c$.
void linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatNum c, Reify r)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} c\right)\equiv r$.
void linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVar y)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{frt} y$.
void linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVar y, Reify r)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{frt} y\right)\equiv r$.
void linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVar y)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} y$.
void linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVar y, Reify r)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} y\right)\equiv r$.
FloatNum pi_half_lower (void)
 Return lower bound of $\pi/2$.
FloatNum pi_half_upper (void)
 Return upper bound of $\pi/2$.
FloatNum pi_lower (void)
 Return lower bound of $\pi$.
FloatNum pi_upper (void)
 Return upper bound of $\pi$.
FloatNum pi_twice_lower (void)
 Return lower bound of $2\pi$.
FloatNum pi_twice_upper (void)
 Return upper bound of $2\pi$.
void rel (Home home, FloatVar x, FloatRelType frt, FloatVal c)
 Propagates $ x \sim_{frt} c$.
void rel (Home home, FloatVar x0, FloatRelType frt, FloatVar x1)
 Post propagator for $ x_0 \sim_{frt} x_1$.
void rel (Home home, FloatVar x0, FloatRelType frt, FloatVar x1, Reify r)
 Post propagator for $(x_0 \sim_{frt} x_1)\equiv r$.
void rel (Home home, FloatVar x, FloatRelType frt, FloatVal c, Reify r)
 Post propagator for $(x \sim_{frt} c)\equiv r$.
void rel (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVal c)
 Propagates $ x_i \sim_{frt} c $ for all $0\leq i<|x|$.
void rel (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVar y)
 Propagates $ x_i \sim_{frt} y $ for all $0\leq i<|x|$.
FloatVal operator+ (const FloatVal &x)
FloatVal operator- (const FloatVal &x)
FloatVal operator+ (const FloatVal &x, const FloatVal &y)
FloatVal operator+ (const FloatVal &x, const FloatNum &y)
FloatVal operator+ (const FloatNum &x, const FloatVal &y)
FloatVal operator- (const FloatVal &x, const FloatVal &y)
FloatVal operator- (const FloatVal &x, const FloatNum &y)
FloatVal operator- (const FloatNum &x, const FloatVal &y)
FloatVal operator* (const FloatVal &x, const FloatVal &y)
FloatVal operator* (const FloatVal &x, const FloatNum &y)
FloatVal operator* (const FloatNum &x, const FloatVal &y)
FloatVal operator/ (const FloatVal &x, const FloatVal &y)
FloatVal operator/ (const FloatVal &x, const FloatNum &y)
FloatVal operator/ (const FloatNum &x, const FloatVal &y)
bool operator< (const FloatVal &x, const FloatVal &y)
bool operator< (const FloatVal &x, const FloatNum &y)
bool operator<= (const FloatVal &x, const FloatVal &y)
bool operator<= (const FloatVal &x, const FloatNum &y)
bool operator> (const FloatVal &x, const FloatVal &y)
bool operator> (const FloatVal &x, const FloatNum &y)
bool operator>= (const FloatVal &x, const FloatVal &y)
bool operator>= (const FloatVal &x, const FloatNum &y)
bool operator== (const FloatVal &x, const FloatVal &y)
bool operator== (const FloatVal &x, const FloatNum &y)
bool operator!= (const FloatVal &x, const FloatVal &y)
bool operator!= (const FloatVal &x, const FloatNum &y)
bool operator< (const FloatNum &x, const FloatVal &y)
bool operator<= (const FloatNum &x, const FloatVal &y)
bool operator> (const FloatNum &x, const FloatVal &y)
bool operator>= (const FloatNum &x, const FloatVal &y)
bool operator== (const FloatNum &x, const FloatVal &y)
bool operator!= (const FloatNum &x, const FloatVal &y)
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const FloatVal &x)
FloatVal abs (const FloatVal &x)
FloatVal sqrt (const FloatVal &x)
FloatVal sqr (const FloatVal &x)
FloatVal pow (const FloatVal &x, int n)
FloatVal nroot (const FloatVal &x, int n)
FloatVal max (const FloatVal &x, const FloatVal &y)
FloatVal max (const FloatVal &x, const FloatNum &y)
FloatVal max (const FloatNum &x, const FloatVal &y)
FloatVal min (const FloatVal &x, const FloatVal &y)
FloatVal min (const FloatVal &x, const FloatNum &y)
FloatVal min (const FloatNum &x, const FloatVal &y)
FloatVal exp (const FloatVal &x)
FloatVal log (const FloatVal &x)
FloatVal fmod (const FloatVal &x, const FloatVal &y)
FloatVal fmod (const FloatVal &x, const FloatNum &y)
FloatVal fmod (const FloatNum &x, const FloatVal &y)
FloatVal sin (const FloatVal &x)
FloatVal cos (const FloatVal &x)
FloatVal tan (const FloatVal &x)
FloatVal asin (const FloatVal &x)
FloatVal acos (const FloatVal &x)
FloatVal atan (const FloatVal &x)
FloatVal sinh (const FloatVal &x)
FloatVal cosh (const FloatVal &x)
FloatVal tanh (const FloatVal &x)
FloatVal asinh (const FloatVal &x)
FloatVal acosh (const FloatVal &x)
FloatVal atanh (const FloatVal &x)
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const FloatVar &x)
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 argmax (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntConLevel icl=ICL_DEF)
 Post propagator for $ \operatorname{argmax} x=y$.
void argmin (Home home, const IntVarArgs &x, IntVar y, bool tiebreak=true, IntConLevel icl=ICL_DEF)
 Post propagator for $ \operatorname{argmin} 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 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 sqr (Home home, IntVar x0, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0^2=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 pow (Home home, IntVar x0, int n, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $x_0^n=x_1$.
void nroot (Home home, IntVar x0, int n, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $\lfloor\sqrt[n]{x_0}\rfloor=x_1$.
void binpacking (Home home, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, IntConLevel icl=ICL_DEF)
 Post propagator for bin packing.
IntSet binpacking (Home home, int d, const IntVarArgs &l, const IntVarArgs &b, const IntArgs &s, const IntArgs &c, IntConLevel)
void rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_0 \sim_{irt} x_1$.
void rel (Home home, BoolVar x, IntRelType irt, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_{irt} n$.
void rel (Home home, BoolVar x0, IntRelType irt, BoolVar x1, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $(x_0 \sim_{irt} x_1)\equiv r$.
void rel (Home home, BoolVar x, IntRelType irt, int n, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $(x \sim_{irt} n)\equiv r$.
void rel (Home home, const BoolVarArgs &x, IntRelType irt, BoolVar y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$.
void rel (Home home, const BoolVarArgs &x, IntRelType irt, int n, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_{irt} n $ for all $0\leq i<|x|$.
void rel (Home home, const BoolVarArgs &x, IntRelType irt, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between elements in x.
void rel (Home home, const BoolVarArgs &x, IntRelType irt, const BoolVarArgs &y, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for relation between x and y.
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 ite (Home home, BoolVar b, IntVar x, IntVar y, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for if-then-else constraint.
IntAssign INT_ASSIGN_MIN (void)
 Select smallest value.
IntAssign INT_ASSIGN_MED (void)
 Select greatest value not greater than the median.
IntAssign INT_ASSIGN_MAX (void)
 Select largest value.
IntAssign INT_ASSIGN_RND (Rnd r)
 Select random value.
IntAssign INT_ASSIGN (IntBranchVal v, IntBranchCommit c=NULL)
 Select value as defined by the value function v and commit function c.
IntValBranch INT_VAL_MIN (void)
 Select smallest value.
IntValBranch INT_VAL_MED (void)
 Select greatest value not greater than the median.
IntValBranch INT_VAL_MAX (void)
 Select largest value.
IntValBranch INT_VAL_RND (Rnd r)
 Select random value.
IntValBranch INT_VAL_SPLIT_MIN (void)
 Select values not greater than mean of smallest and largest value.
IntValBranch INT_VAL_SPLIT_MAX (void)
 Select values greater than mean of smallest and largest value.
IntValBranch INT_VAL_RANGE_MIN (void)
 Select the smallest range of the variable domain if it has several ranges, otherwise select values not greater than mean of smallest and largest value.
IntValBranch INT_VAL_RANGE_MAX (void)
 Select the largest range of the variable domain if it has several ranges, otherwise select values greater than mean of smallest and largest value.
IntValBranch INT_VAL (IntBranchVal v, IntBranchCommit c=NULL)
 Select value as defined by the value function v and commit function c Uses a commit function as default that posts the constraints that a variable x must be equal to a value n for the first alternative and that x must be different from n for the second alternative.
IntValBranch INT_VALUES_MIN (void)
 Try all values starting from smallest.
IntValBranch INT_VALUES_MAX (void)
 Try all values starting from largest.
IntValBranch INT_VAL_NEAR_MIN (IntSharedArray n)
 Try value nearest to a given value for a variable, in case of ties use the smaller value.
IntValBranch INT_VAL_NEAR_MAX (IntSharedArray n)
 Try value nearest to a given value for a variable, in case of ties use the larger value.
IntValBranch INT_VAL_NEAR_INC (IntSharedArray n)
 Try value larger than a given value for a variable first.
IntValBranch INT_VAL_NEAR_DEC (IntSharedArray n)
 Try value smaller than a given value for a variable first.
IntVarBranch INT_VAR_NONE (void)
 Select first unassigned variable.
IntVarBranch INT_VAR_RND (Rnd r)
 Select random variable (uniform distribution, for tie breaking).
IntVarBranch INT_VAR_MERIT_MIN (IntBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with least merit according to branch merit function bm.
IntVarBranch INT_VAR_MERIT_MAX (IntBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with highest merit according to branch merit function bm.
IntVarBranch INT_VAR_DEGREE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest degree.
IntVarBranch INT_VAR_DEGREE_MAX (BranchTbl tbl=NULL)
 Select variable with largest degree.
IntVarBranch INT_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count with decay factor d.
IntVarBranch INT_VAR_AFC_MIN (IntAFC a, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count.
IntVarBranch INT_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count with decay factor d.
IntVarBranch INT_VAR_AFC_MAX (IntAFC a, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count.
IntVarBranch INT_VAR_ACTIVITY_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with lowest activity with decay factor d.
IntVarBranch INT_VAR_ACTIVITY_MIN (IntActivity a, BranchTbl tbl=NULL)
 Select variable with lowest activity.
IntVarBranch INT_VAR_ACTIVITY_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with highest activity with decay factor d.
IntVarBranch INT_VAR_ACTIVITY_MAX (IntActivity a, BranchTbl tbl=NULL)
 Select variable with highest activity.
IntVarBranch INT_VAR_MIN_MIN (BranchTbl tbl=NULL)
 Select variable with smallest min.
IntVarBranch INT_VAR_MIN_MAX (BranchTbl tbl=NULL)
 Select variable with largest min.
IntVarBranch INT_VAR_MAX_MIN (BranchTbl tbl=NULL)
 Select variable with smallest max.
IntVarBranch INT_VAR_MAX_MAX (BranchTbl tbl=NULL)
 Select variable with largest max.
IntVarBranch INT_VAR_SIZE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest domain size.
IntVarBranch INT_VAR_SIZE_MAX (BranchTbl tbl=NULL)
 Select variable with largest domain size.
IntVarBranch INT_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest degree divided by domain size.
IntVarBranch INT_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=NULL)
 Select variable with largest degree divided by domain size.
IntVarBranch INT_VAR_AFC_SIZE_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count divided by domain size with decay factor d.
IntVarBranch INT_VAR_AFC_SIZE_MIN (IntAFC a, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count divided by domain size.
IntVarBranch INT_VAR_AFC_SIZE_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count divided by domain size with decay factor d.
IntVarBranch INT_VAR_AFC_SIZE_MAX (IntAFC a, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count divided by domain size.
IntVarBranch INT_VAR_ACTIVITY_SIZE_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest activity divided by domain size with decay factor d.
IntVarBranch INT_VAR_ACTIVITY_SIZE_MIN (IntActivity a, BranchTbl tbl=NULL)
 Select variable with smallest activity divided by domain size.
IntVarBranch INT_VAR_ACTIVITY_SIZE_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest activity divided by domain size with decay factor d.
IntVarBranch INT_VAR_ACTIVITY_SIZE_MAX (IntActivity a, BranchTbl tbl=NULL)
 Select variable with largest activity divided by domain size.
IntVarBranch INT_VAR_REGRET_MIN_MIN (BranchTbl tbl=NULL)
 Select variable with smallest min-regret.
IntVarBranch INT_VAR_REGRET_MIN_MAX (BranchTbl tbl=NULL)
 Select variable with largest min-regret.
IntVarBranch INT_VAR_REGRET_MAX_MIN (BranchTbl tbl=NULL)
 Select variable with smallest max-regret.
IntVarBranch INT_VAR_REGRET_MAX_MAX (BranchTbl tbl=NULL)
 Select variable with largest max-regret.
BrancherHandle branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals.
BrancherHandle branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals.
BrancherHandle branch (Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=NULL)
 Branch over x with value selection vals.
BrancherHandle assign (Home home, const IntVarArgs &x, IntAssign vals, IntBranchFilter ibf=NULL, IntVarValPrint vvp=NULL)
 Assign all x with value selection vals.
BrancherHandle assign (Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=NULL)
 Assign x with value selection vals.
BrancherHandle branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals.
BrancherHandle branch (Home home, const BoolVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals.
BrancherHandle branch (Home home, BoolVar x, IntValBranch vals, BoolVarValPrint vvp=NULL)
 Branch over x with value selection vals.
BrancherHandle assign (Home home, const BoolVarArgs &x, IntAssign vals, BoolBranchFilter bbf=NULL, BoolVarValPrint vvp=NULL)
 Assign all x with value selection vals.
BrancherHandle assign (Home home, BoolVar x, IntAssign vals, BoolVarValPrint vvp=NULL)
 Assign x with value selection vals.
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 irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} m$.
void count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} m$.
void count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} m$.
void count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, int m, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} m$.
void count (Home home, const IntVarArgs &x, int n, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\sim_{irt} z$.
void count (Home home, const IntVarArgs &x, IntVar y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\sim_{irt} z$.
void count (Home home, const IntVarArgs &x, const IntSet &y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i\in y\}\sim_{irt} z$.
void count (Home home, const IntVarArgs &x, const IntArgs &y, IntRelType irt, IntVar z, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\sim_{irt} z$.
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, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (x=n) \equiv r$.
void dom (Home home, IntVar x, int l, int m, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (l\leq x \leq m) \equiv r$.
void dom (Home home, IntVar x, const IntSet &s, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $ (x \in s) \equiv r$.
void dom (Home home, IntVar x, IntVar d, IntConLevel icl=ICL_DEF)
 Constrain domain of x according to domain of d.
void dom (Home home, BoolVar x, BoolVar d, IntConLevel icl=ICL_DEF)
 Constrain domain of x according to domain of d.
void dom (Home home, const IntVarArgs &x, const IntVarArgs &d, IntConLevel icl=ICL_DEF)
 Constrain domain of $ x_i $ according to domain of $ d_i $ for all $0\leq i<|x|$.
void dom (Home home, const BoolVarArgs &x, const BoolVarArgs &d, IntConLevel icl=ICL_DEF)
 Constrain domain of $ x_i $ according to domain of $ d_i $ for all $0\leq i<|x|$.
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)
SymmetryHandle VariableSymmetry (const IntVarArgs &x)
 Variables in x are interchangeable.
SymmetryHandle VariableSymmetry (const BoolVarArgs &x)
 Variables in x are interchangeable.
SymmetryHandle VariableSymmetry (const IntVarArgs &x, const IntArgs &indices)
 Specified variables in x are interchangeable.
SymmetryHandle ValueSymmetry (const IntArgs &v)
 Values in v are interchangeable.
SymmetryHandle ValueSymmetry (const IntSet &v)
 Values in v are interchangeable.
SymmetryHandle ValueSymmetry (IntVar vars)
 All values in the domain of the given variable are interchangeable.
SymmetryHandle VariableSequenceSymmetry (const IntVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable.
SymmetryHandle VariableSequenceSymmetry (const BoolVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable.
SymmetryHandle ValueSequenceSymmetry (const IntArgs &v, int ss)
 Value sequences in v of size ss are interchangeable.
SymmetryHandle values_reflect (int lower, int upper)
 The values from lower to upper (inclusive) can be reflected.
SymmetryHandle values_reflect (const IntVar &x)
BrancherHandle branch (Home home, const IntVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals with symmetry breaking.
BrancherHandle branch (Home home, const IntVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
BrancherHandle branch (Home home, const BoolVarArgs &x, IntVarBranch vars, IntValBranch vals, const Symmetries &syms, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals with symmetry breaking.
BrancherHandle branch (Home home, const BoolVarArgs &x, TieBreak< IntVarBranch > vars, IntValBranch vals, const Symmetries &syms, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
void linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} c$.
void linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} y$.
void linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c$.
void linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y$.
void linear (Home home, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r$.
void linear (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r$.
void linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r$.
void linear (Home home, const IntArgs &a, const BoolVarArgs &x, IntRelType irt, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r$.
void linear (Home home, const IntVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} c$.
void linear (Home home, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r$.
void linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c$.
void linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r$.
void linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{irt} y$.
void linear (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r$.
void linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y$.
void linear (Home home, const IntArgs &a, const IntVarArgs &x, IntRelType irt, IntVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r$.
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, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r$.
void member (Home home, const BoolVarArgs &x, BoolVar y, Reify r, IntConLevel icl=ICL_DEF)
 Post domain consistent propagator for $\left(y\in \{x_0,\ldots,x_{|x|-1}\}\right)\equiv r$.
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 irt, int y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$.
void nvalues (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$.
void nvalues (Home home, const BoolVarArgs &x, IntRelType irt, int y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$.
void nvalues (Home home, const BoolVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $\#\{x_0,\ldots,x_{|x|-1}\}\sim_{irt} y$.
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.
Reify eqv (BoolVar x)
 Use equivalence for reification.
Reify imp (BoolVar x)
 Use implication for reification.
Reify pmi (BoolVar x)
 Use reverse implication for reification.
void rel (Home home, IntVar x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x \sim_{irt} c$.
void rel (Home home, const IntVarArgs &x, IntRelType irt, int c, IntConLevel icl=ICL_DEF)
 Propagates $ x_i \sim_{irt} c $ for all $0\leq i<|x|$.
void rel (Home home, IntVar x0, IntRelType irt, IntVar x1, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_0 \sim_{irt} x_1$.
void rel (Home home, const IntVarArgs &x, IntRelType irt, IntVar y, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i \sim_{irt} y $ for all $0\leq i<|x|$.
void rel (Home home, IntVar x0, IntRelType irt, IntVar x1, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $ (x_0 \sim_{irt} x_1)\equiv r$.
void rel (Home home, IntVar x, IntRelType irt, int c, Reify r, IntConLevel icl=ICL_DEF)
 Post propagator for $(x \sim_{irt} c)\equiv r$.
void rel (Home home, const IntVarArgs &x, IntRelType irt, IntConLevel icl=ICL_DEF)
 Post propagator for relation among elements in x.
void rel (Home home, const IntVarArgs &x, IntRelType irt, 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$.
SymmetryHandle values_reflect (IntVar x)
 The values in the domain of can be reflected.
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const Activity &a)
template<class Char , class Traits >
std::basic_ostream< Char,
Traits > & 
operator<< (std::basic_ostream< Char, Traits > &os, const AFC &a)
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)
template<class VarBranch >
TieBreak< VarBranchtiebreak (VarBranch a, VarBranch b)
 Combine variable selection criteria a and b for tie-breaking.
template<class VarBranch >
TieBreak< VarBranchtiebreak (VarBranch a, VarBranch b, VarBranch c)
 Combine variable selection criteria a, b, and c for tie-breaking.
template<class VarBranch >
TieBreak< VarBranchtiebreak (VarBranch a, VarBranch b, VarBranch c, VarBranch d)
 Combine variable selection criteria a, b, c, and d for tie-breaking.
BrancherHandle branch (Home home, void(*f)(Space &home))
 Call the function f (with the current space as argument) for branching.
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)
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 LinIntExpr &y)
 Return expression for $x[y]$.
LinFloatExpr abs (const LinFloatExpr &e)
 Return expression for $|e|$.
LinFloatExpr min (const LinFloatExpr &x, const LinFloatExpr &y)
 Return expression for $\min(x,y)$.
LinFloatExpr min (const FloatVarArgs &x)
 Return expression for $\min(x)$.
LinFloatExpr max (const LinFloatExpr &x, const LinFloatExpr &y)
 Return expression for $\max(x,y)$.
LinFloatExpr max (const FloatVarArgs &x)
 Return expression for $\max(x)$.
LinFloatExpr operator* (const FloatVar &, const FloatVar &)
 Return expression as product of float variables.
LinFloatExpr operator* (const LinFloatExpr &, const FloatVar &)
 Return expression as product of linear float expression and float variable.
LinFloatExpr operator* (const FloatVar &, const LinFloatExpr &)
 Return expression as product of float variable and linear float expression.
LinFloatExpr operator* (const LinFloatExpr &x, const LinFloatExpr &y)
 Return expression for $x\cdot y$.
LinFloatExpr operator/ (const LinFloatExpr &x, const LinFloatExpr &y)
 Return expression for $x/y$.
LinFloatExpr sqr (const LinFloatExpr &x)
 Return expression for $x^2$.
LinFloatExpr sqrt (const LinFloatExpr &x)
 Return expression for $\sqrt{x}$.
LinFloatExpr pow (const LinFloatExpr &x, int n)
 Return expression for $x^n$.
LinFloatExpr nroot (const LinFloatExpr &x, int n)
 Return expression for $x^{1/n}$.
LinFloatExpr exp (const LinFloatExpr &x)
 Return expression for $ \mathrm{exp}(x)$.
LinFloatExpr log (const LinFloatExpr &x)
 Return expression for $ \mathrm{log}(x)$.
LinFloatExpr asin (const LinFloatExpr &x)
 Return expression for $ \mathrm{asin}(x)$.
LinFloatExpr sin (const LinFloatExpr &x)
 Return expression for $ \mathrm{sin}(x)$.
LinFloatExpr acos (const LinFloatExpr &x)
 Return expression for $ \mathrm{acos}(x)$.
LinFloatExpr cos (const LinFloatExpr &x)
 Return expression for $ \mathrm{cos}(x)$.
LinFloatExpr atan (const LinFloatExpr &x)
 Return expression for $ \mathrm{atan}(x)$.
LinFloatExpr tan (const LinFloatExpr &x)
 Return expression for $ \mathrm{tan}(x)$.
LinFloatExpr operator+ (const FloatVal &, const FloatVar &)
 Construct linear float expression as sum of float variable and float.
LinFloatExpr operator+ (const FloatVal &, const LinFloatExpr &)
 Construct linear float expression as sum of linear float expression and float.
LinFloatExpr operator+ (const FloatVar &, const FloatVal &)
 Construct linear float expression as sum of float variable and float.
LinFloatExpr operator+ (const LinFloatExpr &, const FloatVal &)
 Construct linear float expression as sum of linear float expression and float.
LinFloatExpr operator+ (const FloatVar &, const FloatVar &)
 Construct linear float expression as sum of float variables.
LinFloatExpr operator+ (const FloatVar &, const LinFloatExpr &)
 Construct linear float expression as sum of float variable and linear float expression.
LinFloatExpr operator+ (const LinFloatExpr &, const FloatVar &)
 Construct linear float expression as sum of linear float expression and float variable.
LinFloatExpr operator+ (const LinFloatExpr &, const LinFloatExpr &)
 Construct linear float expression as sum of linear float expressions.
LinFloatExpr operator- (const FloatVal &, const FloatVar &)
 Construct linear float expression as sum of float variable and float.
LinFloatExpr operator- (const FloatVal &, const LinFloatExpr &)
 Construct linear float expression as sum of float and linear float expression.
LinFloatExpr operator- (const FloatVar &, const FloatVal &)
 Construct linear float expression as sum of float variable and float.
LinFloatExpr operator- (const LinFloatExpr &, const FloatVal &)
 Construct linear float expression as sum of linear float expression and float.
LinFloatExpr operator- (const FloatVar &, const FloatVar &)
 Construct linear float expression as sum of float variables.
LinFloatExpr operator- (const FloatVar &, const LinFloatExpr &)
 Construct linear float expression as sum of float variable and linear float expression.
LinFloatExpr operator- (const LinFloatExpr &, const FloatVar &)
 Construct linear float expression as sum of linear float expression and float variable.
LinFloatExpr operator- (const LinFloatExpr &, const LinFloatExpr &)
 Construct linear float expression as sum of linear float expressions.
LinFloatExpr operator- (const FloatVar &)
 Construct linear float expression as negative of float variable.
LinFloatExpr operator- (const LinFloatExpr &)
 Construct linear float expression as negative of linear float expression.
LinFloatExpr operator* (const FloatVal &, const FloatVar &)
 Construct linear float expression as product of float coefficient and float variable.
LinFloatExpr operator* (const FloatVar &, const FloatVal &)
 Construct linear float expression as product of float coefficient and float variable.
LinFloatExpr operator* (const LinFloatExpr &, const FloatVal &)
 Construct linear float expression as product of float coefficient and linear float expression.
LinFloatExpr operator* (const FloatVal &, const LinFloatExpr &)
 Construct linear float expression as product of float coefficient and linear float expression.
LinFloatExpr sum (const FloatVarArgs &x)
 Construct linear float expression as sum of float variables.
LinFloatExpr sum (const FloatValArgs &a, const FloatVarArgs &x)
 Construct linear float expression as sum of float variables with coefficients.
FloatVar expr (Home home, const LinFloatExpr &e)
 Post float expression and return its value.
LinFloatRel operator== (const FloatVal &l, const FloatVar &r)
 Construct linear float equality relation.
LinFloatRel operator== (const FloatVal &l, const LinFloatExpr &r)
 Construct linear float equality relation.
LinFloatRel operator== (const FloatVar &l, const FloatVal &r)
 Construct linear float equality relation.
LinFloatRel operator== (const LinFloatExpr &l, const FloatVal &r)
 Construct linear float equality relation.
LinFloatRel operator== (const FloatVar &l, const FloatVar &r)
 Construct linear float equality relation.
LinFloatRel operator== (const FloatVar &l, const LinFloatExpr &r)
 Construct linear float equality relation.
LinFloatRel operator== (const LinFloatExpr &l, const FloatVar &r)
 Construct linear float equality relation.
LinFloatRel operator== (const LinFloatExpr &l, const LinFloatExpr &r)
 Construct linear float equality relation.
LinFloatRel operator!= (const FloatVal &l, const FloatVar &r)
 Construct linear float disequality relation.
LinFloatRel operator!= (const FloatVal &l, const LinFloatExpr &r)
 Construct linear float disequality relation.
LinFloatRel operator!= (const FloatVar &l, const FloatVal &r)
 Construct linear float disequality relation.
LinFloatRel operator!= (const LinFloatExpr &l, const FloatVal &r)
 Construct linear float disequality relation.
LinFloatRel operator!= (const FloatVar &l, const FloatVar &r)
 Construct linear float disequality relation.
LinFloatRel operator!= (const FloatVar &l, const LinFloatExpr &r)
 Construct linear float disequality relation.
LinFloatRel operator!= (const LinFloatExpr &l, const FloatVar &r)
 Construct linear float disequality relation.
LinFloatRel operator!= (const LinFloatExpr &l, const LinFloatExpr &r)
 Construct linear float disequality relation.
LinFloatRel operator<= (const FloatVal &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator<= (const FloatVal &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator<= (const FloatVar &l, const FloatVal &r)
 Construct linear float inequality relation.
LinFloatRel operator<= (const LinFloatExpr &l, const FloatVal &r)
 Construct linear float inequality relation.
LinFloatRel operator<= (const FloatVar &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator<= (const FloatVar &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator<= (const LinFloatExpr &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator<= (const LinFloatExpr &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator< (const FloatVal &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator< (const FloatVal &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator< (const FloatVar &l, const FloatVal &r)
 Construct linear float inequality relation.
LinFloatRel operator< (const LinFloatExpr &l, const FloatVal &r)
 Construct linear float inequality relation.
LinFloatRel operator< (const FloatVar &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator< (const FloatVar &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator< (const LinFloatExpr &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator< (const LinFloatExpr &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator>= (const FloatVal &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator>= (const FloatVal &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator>= (const FloatVar &l, const FloatVal &r)
 Construct linear float inequality relation.
LinFloatRel operator>= (const LinFloatExpr &l, const FloatVal &r)
 Construct linear float inequality relation.
LinFloatRel operator>= (const FloatVar &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator>= (const FloatVar &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator>= (const LinFloatExpr &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator>= (const LinFloatExpr &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator> (const FloatVal &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator> (const FloatVal &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator> (const FloatVar &l, const FloatVal &r)
 Construct linear float inequality relation.
LinFloatRel operator> (const LinFloatExpr &l, const FloatVal &r)
 Construct linear float inequality relation.
LinFloatRel operator> (const FloatVar &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator> (const FloatVar &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinFloatRel operator> (const LinFloatExpr &l, const FloatVar &r)
 Construct linear float inequality relation.
LinFloatRel operator> (const LinFloatExpr &l, const LinFloatExpr &r)
 Construct linear float inequality relation.
LinIntExpr abs (const LinIntExpr &e)
 Return expression for $|e|$.
LinIntExpr min (const LinIntExpr &x, const LinIntExpr &y)
 Return expression for $\min(x,y)$.
LinIntExpr max (const LinIntExpr &x, const LinIntExpr &y)
 Return expression for $\max(x,y)$.
LinIntExpr min (const IntVarArgs &x)
 Return expression for $\min(x)$.
LinIntExpr max (const IntVarArgs &x)
 Return expression for $\max(x)$.
LinIntExpr operator* (const LinIntExpr &x, const LinIntExpr &y)
 Return expression for $x\cdot y$.
LinIntExpr sqr (const LinIntExpr &x)
 Return expression for $x^2$.
LinIntExpr sqrt (const LinIntExpr &x)
 Return expression for $\lfloor\sqrt{x}\rfloor$.
LinIntExpr pow (const LinIntExpr &x, int n)
 Return expression for $x^n$.
LinIntExpr nroot (const LinIntExpr &x, int n)
 Return expression for $\lfloor\sqrt[n]{x}\rfloor$.
LinIntExpr operator/ (const LinIntExpr &x, const LinIntExpr &y)
 Return expression for $x\ \mathrm{div}\ y$.
LinIntExpr operator% (const LinIntExpr &x, const LinIntExpr &y)
 Return expression for $x\ \mathrm{mod}\ y$.
LinIntExpr element (const IntVarArgs &x, const LinIntExpr &y)
 Return expression for $x[y]$.
LinIntExpr element (const IntArgs &x, const LinIntExpr &y)
 Return expression for $x[y]$.
LinIntExpr ite (const BoolExpr &b, const LinIntExpr &x, const LinIntExpr &y)
 Return expression for if-then-else $b?x:y$.
LinIntExpr operator+ (int, const IntVar &)
 Construct linear expression as sum of integer variable and integer.
LinIntExpr operator+ (int, const BoolVar &)
 Construct linear expression as sum of Boolean variable and integer.
LinIntExpr operator+ (int, const LinIntExpr &)
 Construct linear expression as sum of linear expression and integer.
LinIntExpr operator+ (const IntVar &, int)
 Construct linear expression as sum of integer variable and integer.
LinIntExpr operator+ (const BoolVar &, int)
 Construct linear expression as sum of Boolean variable and integer.
LinIntExpr operator+ (const LinIntExpr &, int)
 Construct linear expression as sum of linear expression and integer.
LinIntExpr operator+ (const IntVar &, const IntVar &)
 Construct linear expression as sum of integer variables.
LinIntExpr operator+ (const IntVar &, const BoolVar &)
 Construct linear expression as sum of integer and Boolean variable.
LinIntExpr operator+ (const BoolVar &, const IntVar &)
 Construct linear expression as sum of Boolean and integer variable.
LinIntExpr operator+ (const BoolVar &, const BoolVar &)
 Construct linear expression as sum of Boolean variables.
LinIntExpr operator+ (const IntVar &, const LinIntExpr &)
 Construct linear expression as sum of integer variable and linear expression.
LinIntExpr operator+ (const BoolVar &, const LinIntExpr &)
 Construct linear expression as sum of Boolean variable and linear expression.
LinIntExpr operator+ (const LinIntExpr &, const IntVar &)
 Construct linear expression as sum of linear expression and integer variable.
LinIntExpr operator+ (const LinIntExpr &, const BoolVar &)
 Construct linear expression as sum of linear expression and Boolean variable.
LinIntExpr operator+ (const LinIntExpr &, const LinIntExpr &)
 Construct linear expression as sum of linear expressions.
LinIntExpr operator- (int, const IntVar &)
 Construct linear expression as sum of integer variable and integer.
LinIntExpr operator- (int, const BoolVar &)
 Construct linear expression as sum of Boolean variable and integer.
LinIntExpr operator- (int, const LinIntExpr &)
 Construct linear expression as sum of integer and linear expression.
LinIntExpr operator- (const IntVar &, int)
 Construct linear expression as sum of integer variable and integer.
LinIntExpr operator- (const BoolVar &, int)
 Construct linear expression as sum of Boolean variable and integer.
LinIntExpr operator- (const LinIntExpr &, int)
 Construct linear expression as sum of linear expression and integer.
LinIntExpr operator- (const IntVar &, const IntVar &)
 Construct linear expression as sum of integer variables.
LinIntExpr operator- (const IntVar &, const BoolVar &)
 Construct linear expression as sum of integer and Boolean variable.
LinIntExpr operator- (const BoolVar &, const IntVar &)
 Construct linear expression as sum of Boolean and integer variable.
LinIntExpr operator- (const BoolVar &, const BoolVar &)
 Construct linear expression as sum of Boolean variables.
LinIntExpr operator- (const IntVar &, const LinIntExpr &)
 Construct linear expression as sum of integer variable and linear expression.
LinIntExpr operator- (const BoolVar &, const LinIntExpr &)
 Construct linear expression as sum of Boolean variable and linear expression.
LinIntExpr operator- (const LinIntExpr &, const IntVar &)
 Construct linear expression as sum of linear expression and integer variable.
LinIntExpr operator- (const LinIntExpr &, const BoolVar &)
 Construct linear expression as sum of linear expression and Boolean variable.
LinIntExpr operator- (const LinIntExpr &, const LinIntExpr &)
 Construct linear expression as sum of linear expressions.
LinIntExpr operator- (const IntVar &)
 Construct linear expression as negative of integer variable.
LinIntExpr operator- (const BoolVar &)
 Construct linear expression as negative of Boolean variable.
LinIntExpr operator- (const LinIntExpr &)
 Construct linear expression as negative of linear expression.
LinIntExpr operator* (int, const IntVar &)
 Construct linear expression as product of integer coefficient and integer variable.
LinIntExpr operator* (int, const BoolVar &)
 Construct linear expression as product of integer coefficient and Boolean variable.
LinIntExpr operator* (const IntVar &, int)
 Construct linear expression as product of integer coefficient and integer variable.
LinIntExpr operator* (const BoolVar &, int)
 Construct linear expression as product of integer coefficient and Boolean variable.
LinIntExpr operator* (const LinIntExpr &, int)
 Construct linear expression as product of integer coefficient and linear expression.
LinIntExpr operator* (int, const LinIntExpr &)
 Construct linear expression as product of integer coefficient and linear expression.
LinIntExpr sum (const IntVarArgs &x)
 Construct linear expression as sum of integer variables.
LinIntExpr sum (const IntArgs &a, const IntVarArgs &x)
 Construct linear expression as sum of integer variables with coefficients.
LinIntExpr sum (const BoolVarArgs &x)
 Construct linear expression as sum of Boolean variables.
LinIntExpr sum (const IntArgs &a, const BoolVarArgs &x)
 Construct linear expression as sum of Boolean variables with coefficients.
LinIntExpr sum (const Slice< IntArgs > &slice)
 Construct linear expression as sum of IntArgs Slice elements.
LinIntExpr sum (const Matrix< IntArgs > &matrix)
 Construct linear expression as sum of IntArgs Matrix elements.
LinIntExpr sum (const IntArgs &args)
 Construct linear expression as sum of IntArgs.
IntVar expr (Home home, const LinIntExpr &e, IntConLevel icl=ICL_DEF)
 Post linear expression and return its value.
LinIntRel operator== (int l, const IntVar &r)
 Construct linear equality relation.
LinIntRel operator== (int l, const BoolVar &r)
 Construct linear equality relation.
LinIntRel operator== (int l, const LinIntExpr &r)
 Construct linear equality relation.
LinIntRel operator== (const IntVar &l, int r)
 Construct linear equality relation.
LinIntRel operator== (const BoolVar &l, int r)
 Construct linear equality relation.
LinIntRel operator== (const LinIntExpr &l, int r)
 Construct linear equality relation.
LinIntRel operator== (const IntVar &l, const IntVar &r)
 Construct linear equality relation.
LinIntRel operator== (const IntVar &l, const BoolVar &r)
 Construct linear equality relation.
LinIntRel operator== (const BoolVar &l, const IntVar &r)
 Construct linear equality relation.
LinIntRel operator== (const BoolVar &l, const BoolVar &r)
 Construct linear equality relation.
LinIntRel operator== (const IntVar &l, const LinIntExpr &r)
 Construct linear equality relation.
LinIntRel operator== (const BoolVar &l, const LinIntExpr &r)
 Construct linear equality relation.
LinIntRel operator== (const LinIntExpr &l, const IntVar &r)
 Construct linear equality relation.
LinIntRel operator== (const LinIntExpr &l, const BoolVar &r)
 Construct linear equality relation.
LinIntRel operator== (const LinIntExpr &l, const LinIntExpr &r)
 Construct linear equality relation.
LinIntRel operator!= (int l, const IntVar &r)
 Construct linear disequality relation.
LinIntRel operator!= (int l, const BoolVar &r)
 Construct linear disequality relation.
LinIntRel operator!= (int l, const LinIntExpr &r)
 Construct linear disequality relation.
LinIntRel operator!= (const IntVar &l, int r)
 Construct linear disequality relation.
LinIntRel operator!= (const BoolVar &l, int r)
 Construct linear disequality relation.
LinIntRel operator!= (const LinIntExpr &l, int r)
 Construct linear disequality relation.
LinIntRel operator!= (const IntVar &l, const IntVar &r)
 Construct linear disequality relation.
LinIntRel operator!= (const IntVar &l, const BoolVar &r)
 Construct linear disequality relation.
LinIntRel operator!= (const BoolVar &l, const IntVar &r)
 Construct linear disequality relation.
LinIntRel operator!= (const BoolVar &l, const BoolVar &r)
 Construct linear disequality relation.
LinIntRel operator!= (const IntVar &l, const LinIntExpr &r)
 Construct linear disequality relation.
LinIntRel operator!= (const BoolVar &l, const LinIntExpr &r)
 Construct linear disequality relation.
LinIntRel operator!= (const LinIntExpr &l, const IntVar &r)
 Construct linear disequality relation.
LinIntRel operator!= (const LinIntExpr &l, const BoolVar &r)
 Construct linear disequality relation.
LinIntRel operator!= (const LinIntExpr &l, const LinIntExpr &r)
 Construct linear disequality relation.
LinIntRel operator< (int l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator< (int l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator< (int l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator< (const IntVar &l, int r)
 Construct linear inequality relation.
LinIntRel operator< (const BoolVar &l, int r)
 Construct linear inequality relation.
LinIntRel operator< (const LinIntExpr &l, int r)
 Construct linear inequality relation.
LinIntRel operator< (const IntVar &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator< (const IntVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator< (const BoolVar &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator< (const BoolVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator< (const IntVar &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator< (const BoolVar &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator< (const LinIntExpr &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator< (const LinIntExpr &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator< (const LinIntExpr &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator<= (int l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator<= (int l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator<= (int l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator<= (const IntVar &l, int r)
 Construct linear inequality relation.
LinIntRel operator<= (const BoolVar &l, int r)
 Construct linear inequality relation.
LinIntRel operator<= (const LinIntExpr &l, int r)
 Construct linear inequality relation.
LinIntRel operator<= (const IntVar &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator<= (const IntVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator<= (const BoolVar &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator<= (const BoolVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator<= (const IntVar &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator<= (const BoolVar &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator<= (const LinIntExpr &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator<= (const LinIntExpr &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator<= (const LinIntExpr &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator> (int l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator> (int l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator> (int l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator> (const IntVar &l, int r)
 Construct linear inequality relation.
LinIntRel operator> (const BoolVar &l, int r)
 Construct linear inequality relation.
LinIntRel operator> (const LinIntExpr &l, int r)
 Construct linear inequality relation.
LinIntRel operator> (const IntVar &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator> (const IntVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator> (const BoolVar &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator> (const BoolVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator> (const IntVar &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator> (const BoolVar &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator> (const LinIntExpr &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator> (const LinIntExpr &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator> (const LinIntExpr &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator>= (int l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator>= (int l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator>= (int l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator>= (const IntVar &l, int r)
 Construct linear inequality relation.
LinIntRel operator>= (const BoolVar &l, int r)
 Construct linear inequality relation.
LinIntRel operator>= (const LinIntExpr &l, int r)
 Construct linear inequality relation.
LinIntRel operator>= (const IntVar &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator>= (const IntVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator>= (const BoolVar &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator>= (const BoolVar &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator>= (const IntVar &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator>= (const BoolVar &l, const LinIntExpr &r)
 Construct linear inequality relation.
LinIntRel operator>= (const LinIntExpr &l, const IntVar &r)
 Construct linear inequality relation.
LinIntRel operator>= (const LinIntExpr &l, const BoolVar &r)
 Construct linear inequality relation.
LinIntRel operator>= (const LinIntExpr &l, const LinIntExpr &r)
 Construct linear inequality relation.
template<class A >
SymmetryHandle rows_interchange (const Matrix< A > &m)
 Interchangeable rows symmetry specification.
template<class A >
SymmetryHandle columns_interchange (const Matrix< A > &m)
 Interchangeable columns symmetry specification.
template<class A >
SymmetryHandle rows_reflect (const Matrix< A > &m)
 Reflect rows symmetry specification.
template<class A >
SymmetryHandle columns_reflect (const Matrix< A > &m)
 Reflect columns symmetry specification.
template<class A >
SymmetryHandle diagonal_reflect (const Matrix< A > &m)
 Reflect around main diagonal symmetry specification.
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 LinIntExpr &)
 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.
LinIntExpr cardinality (const SetExpr &)
 Cardinality of set expression.
LinIntExpr min (const SetExpr &)
 Minimum element of set expression.
LinIntExpr 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.
LinFloatRel operator== (const FloatVar &l, const BoolVar &r)
 Construct linear float equality relation.
LinFloatRel operator== (const LinFloatExpr &l, const BoolVar &r)
 Construct linear float equality relation.
LinFloatRel operator!= (const FloatVar &l, const BoolVar &r)
 Construct linear float disequality relation.
LinFloatRel operator!= (const LinFloatExpr &l, const BoolVar &r)
 Construct linear float disequality relation.
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$.
IntVar channel (Home home, FloatVar f)
 Return integer variable equal to $f$.
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<template< class > class E, class T >
T * rbs (T *s, const Search::Options &o)
 Perform restart-based search.
SetAssign SET_ASSIGN_MIN_INC (void)
 Include smallest element.
SetAssign SET_ASSIGN_MIN_EXC (void)
 Exclude smallest element.
SetAssign SET_ASSIGN_MED_INC (void)
 Include median element (rounding downwards).
SetAssign SET_ASSIGN_MED_EXC (void)
 Exclude median element (rounding downwards).
SetAssign SET_ASSIGN_MAX_INC (void)
 Include largest element.
SetAssign SET_ASSIGN_MAX_EXC (void)
 Exclude largest element.
SetAssign SET_ASSIGN_RND_INC (Rnd r)
 Include random element.
SetAssign SET_ASSIGN_RND_EXC (Rnd r)
 Exclude random element.
SetAssign SET_ASSIGN (SetBranchVal v, SetBranchCommit c=NULL)
 Select value as defined by the value function v and commit function c.
SetValBranch SET_VAL_MIN_INC (void)
 Include smallest element.
SetValBranch SET_VAL_MIN_EXC (void)
 Exclude smallest element.
SetValBranch SET_VAL_MED_INC (void)
 Include median element (rounding downwards).
SetValBranch SET_VAL_MED_EXC (void)
 Exclude median element (rounding downwards).
SetValBranch SET_VAL_MAX_INC (void)
 Include largest element.
SetValBranch SET_VAL_MAX_EXC (void)
 Exclude largest element.
SetValBranch SET_VAL_RND_INC (Rnd r)
 Include random element.
SetValBranch SET_VAL_RND_EXC (Rnd r)
 Exclude random element.
SetValBranch SET_VAL (SetBranchVal v, SetBranchCommit c=NULL)
 Select value as defined by the value function v and commit function c.
SetVarBranch SET_VAR_NONE (void)
 Select first unassigned variable.
SetVarBranch SET_VAR_RND (Rnd r)
 Select random variable (uniform distribution, for tie breaking).
SetVarBranch SET_VAR_MERIT_MIN (SetBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with least merit according to branch merit function bm.
SetVarBranch SET_VAR_MERIT_MAX (SetBranchMerit bm, BranchTbl tbl=NULL)
 Select variable with highest merit according to branch merit function bm.
SetVarBranch SET_VAR_DEGREE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest degree.
SetVarBranch SET_VAR_DEGREE_MAX (BranchTbl tbl=NULL)
 Select variable with largest degree.
SetVarBranch SET_VAR_AFC_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count with decay factor d.
SetVarBranch SET_VAR_AFC_MIN (SetAFC a, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count.
SetVarBranch SET_VAR_AFC_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count with decay factor d.
SetVarBranch SET_VAR_AFC_MAX (SetAFC a, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count.
SetVarBranch SET_VAR_ACTIVITY_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with lowest activity with decay factor d.
SetVarBranch SET_VAR_ACTIVITY_MIN (SetActivity a, BranchTbl tbl=NULL)
 Select variable with lowest activity.
SetVarBranch SET_VAR_ACTIVITY_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with highest activity with decay factor d.
SetVarBranch SET_VAR_ACTIVITY_MAX (SetActivity a, BranchTbl tbl=NULL)
 Select variable with highest activity.
SetVarBranch SET_VAR_MIN_MIN (BranchTbl tbl=NULL)
 Select variable with smallest minimum unknown element.
SetVarBranch SET_VAR_MIN_MAX (BranchTbl tbl=NULL)
 Select variable with largest minimum unknown element.
SetVarBranch SET_VAR_MAX_MIN (BranchTbl tbl=NULL)
 Select variable with smallest maximum unknown element.
SetVarBranch SET_VAR_MAX_MAX (BranchTbl tbl=NULL)
 Select variable with largest maximum unknown element.
SetVarBranch SET_VAR_SIZE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest unknown set.
SetVarBranch SET_VAR_SIZE_MAX (BranchTbl tbl=NULL)
 Select variable with largest unknown set.
SetVarBranch SET_VAR_DEGREE_SIZE_MIN (BranchTbl tbl=NULL)
 Select variable with smallest degree divided by domain size.
SetVarBranch SET_VAR_DEGREE_SIZE_MAX (BranchTbl tbl=NULL)
 Select variable with largest degree divided by domain size.
SetVarBranch SET_VAR_AFC_SIZE_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count divided by domain size with decay factor d.
SetVarBranch SET_VAR_AFC_SIZE_MIN (SetAFC a, BranchTbl tbl=NULL)
 Select variable with smallest accumulated failure count divided by domain size.
SetVarBranch SET_VAR_AFC_SIZE_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count divided by domain size with decay factor d.
SetVarBranch SET_VAR_AFC_SIZE_MAX (SetAFC a, BranchTbl tbl=NULL)
 Select variable with largest accumulated failure count divided by domain size.
SetVarBranch SET_VAR_ACTIVITY_SIZE_MIN (double d=1.0, BranchTbl tbl=NULL)
 Select variable with smallest activity divided by domain size with decay factor d.
SetVarBranch SET_VAR_ACTIVITY_SIZE_MIN (SetActivity a, BranchTbl tbl=NULL)
 Select variable with smallest activity divided by domain size.
SetVarBranch SET_VAR_ACTIVITY_SIZE_MAX (double d=1.0, BranchTbl tbl=NULL)
 Select variable with largest activity divided by domain size with decay factor d.
SetVarBranch SET_VAR_ACTIVITY_SIZE_MAX (SetActivity a, BranchTbl tbl=NULL)
 Select variable with largest activity divided by domain size.
BrancherHandle branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals.
BrancherHandle branch (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetValBranch vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals.
BrancherHandle branch (Home home, SetVar x, SetValBranch vals, SetVarValPrint vvp=NULL)
 Branch over x with value selection vals.
BrancherHandle assign (Home home, const SetVarArgs &x, SetAssign vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)
 Assign all x with value selection vals.
BrancherHandle assign (Home home, SetVar x, SetAssign vals, SetVarValPrint vvp=NULL)
 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, const SetVarArgs &x, unsigned int i, unsigned int j)
 Propagates $ i \leq |s| \leq j $ for all $0\leq i<|x|$.
void cardinality (Home home, SetVar s, IntVar x)
 Post propagator for $ |s|=x $.
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 channel (Home home, const SetVarArgs &x, const SetVarArgs &y)
 Post propagator for $j\in x_i \Leftrightarrow i\in y_j$.
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, const SetVarArgs &x, SetRelType r, int i)
 Propagates $ x_i \sim_r \{i\}$ for all $0\leq i<|x|$.
void dom (Home home, SetVar x, SetRelType r, int i, int j)
 Propagates $ x \sim_r \{i,\dots,j\}$.
void dom (Home home, const SetVarArgs &x, SetRelType r, int i, int j)
 Propagates $ x \sim_r \{i,\dots,j\}$ for all $0\leq i<|x|$.
void dom (Home home, SetVar x, SetRelType r, const IntSet &s)
 Propagates $ x \sim_r s$.
void dom (Home home, const SetVarArgs &x, SetRelType r, const IntSet &s)
 Propagates $ x \sim_r s$ for all $0\leq i<|x|$.
void dom (Home home, SetVar x, SetRelType rt, int i, Reify r)
 Post propagator for $ (x \sim_{rt} \{i\}) \equiv r $.
void dom (Home home, SetVar x, SetRelType rt, int i, int j, Reify r)
 Post propagator for $ (x \sim_{rt} \{i,\dots,j\}) \equiv r $.
void dom (Home home, SetVar x, SetRelType rt, const IntSet &s, Reify r)
 Post propagator for $ (x \sim_{rt} s) \equiv r $.
void dom (Home home, SetVar x, SetVar d)
 Constrain domain of x according to domain of d.
void dom (Home home, const SetVarArgs &x, const SetVarArgs &d)
 Constrain domain of $ x_i $ according to domain of $ d_i $ for all $0\leq i<|x|$.
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, Reify r)
 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, Reify r)
 Post reified propagator for b iff x is the maximal element of s.
void weights (Home home, IntSharedArray elements, IntSharedArray weights, SetVar x, IntVar y)
 Post propagator for $y = \mathrm{weight}(x)$.
SymmetryHandle VariableSymmetry (const SetVarArgs &x)
 Variables in x are interchangeable.
SymmetryHandle VariableSequenceSymmetry (const SetVarArgs &x, int ss)
 Variable sequences in x of size ss are interchangeable.
BrancherHandle branch (Home home, const SetVarArgs &x, SetVarBranch vars, SetValBranch vals, const Symmetries &syms, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)
 Branch over x with variable selection vars and value selection vals with symmetry breaking.
BrancherHandle branch (Home home, const SetVarArgs &x, TieBreak< SetVarBranch > vars, SetValBranch vals, const Symmetries &syms, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)
 Branch over x with tie-breaking variable selection vars and value selection vals with symmetry breaking.
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 , ReifyMode rm>
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 rt, SetVar y, Reify r)
 Post propagator for $ (x \sim_{rt} y) \equiv r$.
void rel (Home home, SetVar s, SetRelType rt, IntVar x, Reify r)
 Post propagator for $ (s \sim_{rt} \{x\}) \equiv r$.
void rel (Home home, IntVar x, SetRelType rt, SetVar s, Reify r)
 Post propagator for $ (\{x\} \sim_{rt} s) \equiv r $.
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)
template<class T >
ptr_cast (void *p)
 Cast p into pointer of type T.
template<class F1 , class F2 >
F1 function_cast (F2 f)
 Cast function pointer.

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.


Typedef Documentation

typedef void(* Gecode::FloatVarValPrint)(const Space &home, const BrancherHandle &bh, unsigned int a, FloatVar x, int i, const FloatNumBranch &n, std::ostream &o)

Function type for explaining branching alternatives for set variables.

Definition at line 1502 of file float.hh.

An array of literals.

Definition at line 97 of file ldsb.hh.

typedef void(* Gecode::IntVarValPrint)(const Space &home, const BrancherHandle &bh, unsigned int a, IntVar x, int i, const int &n, std::ostream &o)

Function type for printing branching alternatives for integer variables.

Definition at line 3778 of file int.hh.

typedef void(* Gecode::BoolVarValPrint)(const Space &home, const BrancherHandle &bh, unsigned int a, BoolVar x, int i, const int &n, std::ostream &o)

Function type for printing branching alternatives for Boolean variables.

Definition at line 3784 of file int.hh.

Class for minimizing integer cost.

Deprecated:
Use IntMinimizeSpace instead.

Definition at line 2242 of file minimodel.hh.

Class for maximizing integer cost.

Deprecated:
Use IntMaximizeSpace instead.

Definition at line 2247 of file minimodel.hh.

typedef void(* Gecode::SetVarValPrint)(const Space &home, const BrancherHandle &bh, unsigned int a, SetVar x, int i, const int &n, std::ostream &o)

Function type for printing branching alternatives for set variables.

Definition at line 1239 of file set.hh.

typedef void(* Gecode::VoidFunction)(void)

Base type for any function pointer.

Definition at line 45 of file cast.hpp.


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 523 of file core.hpp.


Function Documentation

Archive& Gecode::operator<< ( Archive &  e,
FloatNumBranch  nl 
) [inline]

Definition at line 43 of file val-sel.hpp.

Archive& Gecode::operator>> ( Archive &  e,
FloatNumBranch &  nl 
) [inline]

Definition at line 48 of file val-sel.hpp.

FloatNum Gecode::pi_half_lower ( void   )  [inline]

Return lower bound of $\pi/2$.

FloatNum Gecode::pi_half_upper ( void   )  [inline]

Return upper bound of $\pi/2$.

FloatNum Gecode::pi_lower ( void   )  [inline]

Return lower bound of $\pi$.

FloatNum Gecode::pi_upper ( void   )  [inline]

Return upper bound of $\pi$.

FloatNum Gecode::pi_twice_lower ( void   )  [inline]

Return lower bound of $2\pi$.

FloatNum Gecode::pi_twice_upper ( void   )  [inline]

Return upper bound of $2\pi$.

FloatVal Gecode::operator+ ( const FloatVal &  x  )  [inline]

Definition at line 168 of file val.hpp.

FloatVal Gecode::operator- ( const FloatVal &  x  )  [inline]

Definition at line 172 of file val.hpp.

FloatVal Gecode::operator+ ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 178 of file val.hpp.

FloatVal Gecode::operator+ ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 182 of file val.hpp.

FloatVal Gecode::operator+ ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 186 of file val.hpp.

FloatVal Gecode::operator- ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 191 of file val.hpp.

FloatVal Gecode::operator- ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 195 of file val.hpp.

FloatVal Gecode::operator- ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 199 of file val.hpp.

FloatVal Gecode::operator* ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 204 of file val.hpp.

FloatVal Gecode::operator* ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 208 of file val.hpp.

FloatVal Gecode::operator* ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 212 of file val.hpp.

FloatVal Gecode::operator/ ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 217 of file val.hpp.

FloatVal Gecode::operator/ ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 221 of file val.hpp.

FloatVal Gecode::operator/ ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 225 of file val.hpp.

bool Gecode::operator< ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 230 of file val.hpp.

bool Gecode::operator< ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 238 of file val.hpp.

bool Gecode::operator<= ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 247 of file val.hpp.

bool Gecode::operator<= ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 255 of file val.hpp.

bool Gecode::operator> ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 264 of file val.hpp.

bool Gecode::operator> ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 272 of file val.hpp.

bool Gecode::operator>= ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 281 of file val.hpp.

bool Gecode::operator>= ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 289 of file val.hpp.

bool Gecode::operator== ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 298 of file val.hpp.

bool Gecode::operator== ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 306 of file val.hpp.

bool Gecode::operator!= ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 321 of file val.hpp.

bool Gecode::operator!= ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 329 of file val.hpp.

bool Gecode::operator< ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 338 of file val.hpp.

bool Gecode::operator<= ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 342 of file val.hpp.

bool Gecode::operator> ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 346 of file val.hpp.

bool Gecode::operator>= ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 350 of file val.hpp.

bool Gecode::operator== ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 354 of file val.hpp.

bool Gecode::operator!= ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 358 of file val.hpp.

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

Definition at line 364 of file val.hpp.

FloatVal Gecode::abs ( const FloatVal &  x  )  [inline]

Definition at line 369 of file val.hpp.

FloatVal Gecode::sqrt ( const FloatVal &  x  )  [inline]

Definition at line 373 of file val.hpp.

FloatVal Gecode::sqr ( const FloatVal &  x  )  [inline]

Definition at line 377 of file val.hpp.

FloatVal Gecode::pow ( const FloatVal &  x,
int  n 
) [inline]

Definition at line 381 of file val.hpp.

FloatVal Gecode::nroot ( const FloatVal &  x,
int  n 
) [inline]

Definition at line 385 of file val.hpp.

FloatVal Gecode::max ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 390 of file val.hpp.

FloatVal Gecode::max ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 394 of file val.hpp.

FloatVal Gecode::max ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 398 of file val.hpp.

FloatVal Gecode::min ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 402 of file val.hpp.

FloatVal Gecode::min ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 406 of file val.hpp.

FloatVal Gecode::min ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 410 of file val.hpp.

FloatVal Gecode::exp ( const FloatVal &  x  )  [inline]

Definition at line 417 of file val.hpp.

FloatVal Gecode::log ( const FloatVal &  x  )  [inline]

Definition at line 421 of file val.hpp.

FloatVal Gecode::fmod ( const FloatVal &  x,
const FloatVal &  y 
) [inline]

Definition at line 426 of file val.hpp.

FloatVal Gecode::fmod ( const FloatVal &  x,
const FloatNum &  y 
) [inline]

Definition at line 430 of file val.hpp.

FloatVal Gecode::fmod ( const FloatNum &  x,
const FloatVal &  y 
) [inline]

Definition at line 434 of file val.hpp.

FloatVal Gecode::sin ( const FloatVal &  x  )  [inline]

Definition at line 439 of file val.hpp.

FloatVal Gecode::cos ( const FloatVal &  x  )  [inline]

Definition at line 443 of file val.hpp.

FloatVal Gecode::tan ( const FloatVal &  x  )  [inline]

Definition at line 447 of file val.hpp.

FloatVal Gecode::asin ( const FloatVal &  x  )  [inline]

Definition at line 451 of file val.hpp.

FloatVal Gecode::acos ( const FloatVal &  x  )  [inline]

Definition at line 455 of file val.hpp.

FloatVal Gecode::atan ( const FloatVal &  x  )  [inline]

Definition at line 459 of file val.hpp.

FloatVal Gecode::sinh ( const FloatVal &  x  )  [inline]

Definition at line 464 of file val.hpp.

FloatVal Gecode::cosh ( const FloatVal &  x  )  [inline]

Definition at line 468 of file val.hpp.

FloatVal Gecode::tanh ( const FloatVal &  x  )  [inline]

Definition at line 472 of file val.hpp.

FloatVal Gecode::asinh ( const FloatVal &  x  )  [inline]

Definition at line 476 of file val.hpp.

FloatVal Gecode::acosh ( const FloatVal &  x  )  [inline]

Definition at line 480 of file val.hpp.

FloatVal Gecode::atanh ( const FloatVal &  x  )  [inline]

Definition at line 484 of file val.hpp.

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

Definition at line 44 of file print.hpp.

IntSet Gecode::binpacking ( Home  home,
int  d,
const IntVarArgs &  l,
const IntVarArgs &  b,
const IntArgs &  s,
const IntArgs &  c,
IntConLevel   
)
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 126 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 201 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 264 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 322 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 388 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 260 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 172 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 236 of file int-set-1.hpp.

SymmetryHandle Gecode::values_reflect ( const IntVar &  x  ) 

Definition at line 125 of file ldsb.cpp.

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 Char , class Traits >
std::basic_ostream<Char,Traits>& Gecode::operator<< ( std::basic_ostream< Char, Traits > &  os,
const Activity &  a 
) [related]

Definition at line 361 of file activity.hpp.

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

Definition at line 181 of file afc.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 1105 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 1116 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 1127 of file array.hpp.

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

Definition at line 1138 of file array.hpp.

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

Definition at line 1148 of file array.hpp.

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

Definition at line 1438 of file array.hpp.

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

Definition at line 1457 of file array.hpp.

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

Definition at line 1462 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 1881 of file array.hpp.

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

Definition at line 1888 of file array.hpp.

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

Definition at line 1895 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 1963 of file array.hpp.

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

Definition at line 1970 of file array.hpp.

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

Definition at line 1977 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 2047 of file array.hpp.

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

Definition at line 2054 of file array.hpp.

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

Definition at line 2061 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 2167 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 2183 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 2199 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 361 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.

LinFloatExpr Gecode::abs ( const LinFloatExpr &  e  ) 

Return expression for $|e|$.

LinFloatExpr Gecode::min ( const LinFloatExpr &  e0,
const LinFloatExpr &  e1 
)

Return expression for $\min(x,y)$.

LinFloatExpr Gecode::min ( const FloatVarArgs &  x  ) 

Return expression for $\min(x)$.

LinFloatExpr Gecode::max ( const LinFloatExpr &  e0,
const LinFloatExpr &  e1 
)

Return expression for $\max(x,y)$.

LinFloatExpr Gecode::max ( const FloatVarArgs &  x  ) 

Return expression for $\max(x)$.

LinFloatExpr Gecode::operator* ( const LinFloatExpr &  e0,
const LinFloatExpr &  e1 
)

Return expression for $x\cdot y$.

LinFloatExpr Gecode::operator/ ( const LinFloatExpr &  e0,
const LinFloatExpr &  e1 
)

Return expression for $x/y$.

LinFloatExpr Gecode::sqr ( const LinFloatExpr &  e  ) 

Return expression for $x^2$.

LinFloatExpr Gecode::sqrt ( const LinFloatExpr &  e  ) 

Return expression for $\sqrt{x}$.

LinFloatExpr Gecode::pow ( const LinFloatExpr &  e,
int  exp 
)

Return expression for $x^n$.

LinFloatExpr Gecode::nroot ( const LinFloatExpr &  e,
int  exp 
)

Return expression for $x^{1/n}$.

LinIntExpr Gecode::sum ( const Slice< IntArgs > &  slice  ) 

Construct linear expression as sum of IntArgs Slice elements.

LinIntExpr Gecode::sum ( const Matrix< IntArgs > &  matrix  ) 

Construct linear expression as sum of IntArgs Matrix elements.

template<class A >
SymmetryHandle Gecode::rows_interchange ( const Matrix< A > &  m  )  [related]

Interchangeable rows symmetry specification.

Definition at line 44 of file ldsb.hpp.

template<class A >
SymmetryHandle Gecode::columns_interchange ( const Matrix< A > &  m  )  [related]

Interchangeable columns symmetry specification.

Definition at line 55 of file ldsb.hpp.

template<class A >
SymmetryHandle Gecode::rows_reflect ( const Matrix< A > &  m  )  [related]

Reflect rows symmetry specification.

Definition at line 66 of file ldsb.hpp.

template<class A >
SymmetryHandle Gecode::columns_reflect ( const Matrix< A > &  m  )  [related]

Reflect columns symmetry specification.

Definition at line 89 of file ldsb.hpp.

template<class A >
SymmetryHandle Gecode::diagonal_reflect ( const Matrix< A > &  m  )  [related]

Reflect around main diagonal symmetry specification.

Definition at line 112 of file ldsb.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.

SymmetryHandle Gecode::VariableSymmetry ( const SetVarArgs &  x  ) 

Variables in x are interchangeable.

SymmetryHandle Gecode::VariableSequenceSymmetry ( const SetVarArgs &  x,
int  ss 
)

Variable sequences in x of size ss are interchangeable.

The size of x must be a multiple of ss.

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 , ReifyMode rm>
void Gecode::rel_re ( Home  home,
View0  x,
SetRelType  r,
View1  y,
BoolVar  b 
) [inline]

Definition at line 100 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.

template<class T >
T Gecode::ptr_cast ( void *  p  )  [inline]

Cast p into pointer of type T.

Definition at line 54 of file cast.hpp.

template<class F1 , class F2 >
F1 Gecode::function_cast ( F2  f  )  [inline]

Cast function pointer.

Definition at line 60 of file cast.hpp.


Variable Documentation

The single global heap.

Definition at line 49 of file heap.cpp.