Programming actors
[Functionality by programming task]
Modules  
Programming integer actors  
Programming set actors  
Programming CpltSet actors  
Reified propagator patterns  
Generic branching based on view and value selection  
Status of constraint propagation and branching commit  
Propagator patterns  
Patterns for set propagators  
Classes  
class  Gecode::ViewArray< View > 
View arrays. More...  
class  Gecode::Actor 
Baseclass for both propagators and branchings. More...  
class  Gecode::Propagator 
Baseclass for propagators. More...  
class  Gecode::Council< A > 
Council of advisors. More...  
class  Gecode::Advisors< A > 
Class to iterate over advisors of a council. More...  
class  Gecode::Advisor 
Baseclass for advisors. More...  
class  Gecode::BranchingDesc 
Branch description for batch recomputation. More...  
class  Gecode::Branching 
Baseclass for branchings. More...  
Defines  
#define  GECODE_ME_CHECK(me) 
Check whether modification event me is failed, and forward failure.  
#define  GECODE_ME_CHECK_MODIFIED(modified, me) 
Check whether me is failed or modified, and forward failure.  
#define  GECODE_ME_FAIL(home, me) 
Check whether modification event me is failed, and fail space home.  
#define  GECODE_ES_CHECK(es) 
Check whether execution status es is failed or subsumed, and forward failure or subsumption.  
#define  GECODE_ES_FAIL(home, es) 
Check whether execution status es is failed, and fail space home.  
#define  GECODE_REWRITE(prop, post) 
Rewrite propagator by executing post function.  
Typedefs  
typedef int  Gecode::ModEventDelta 
Modification event deltas.  
Enumerations  
enum  Gecode::PropCost { Gecode::PC_CRAZY_LO = 0, Gecode::PC_CRAZY_HI = 0, Gecode::PC_CUBIC_LO = 1, Gecode::PC_CUBIC_HI = 1, Gecode::PC_QUADRATIC_LO = 2, Gecode::PC_QUADRATIC_HI = 2, Gecode::PC_LINEAR_HI = 3, Gecode::PC_LINEAR_LO = 4, Gecode::PC_TERNARY_HI = 5, Gecode::PC_BINARY_HI = 6, Gecode::PC_TERNARY_LO = 6, Gecode::PC_BINARY_LO = 7, Gecode::PC_UNARY_LO = 7, Gecode::PC_UNARY_HI = 7, Gecode::PC_MAX = 7 } 
Classification of propagation cost. More...  
enum  Gecode::PropKind { Gecode::PK_DEF, Gecode::PK_SPEED, Gecode::PK_MEMORY } 
Propagation kind. More...  
Functions  
void  Gecode::Space::fail (void) 
Fail space.  
bool  Gecode::Space::failed (void) const 
Check whether space is failed.  
bool  Gecode::Space::stable (void) const 
Return if space is stable (at fixpoint or failed).  
bool  Gecode::me_failed (ModEvent me) 
Check whether modification event me is failed.  
bool  Gecode::me_modified (ModEvent me) 
Check whether modification event me describes variable modification.  
PropCost  Gecode::cost_lo (int n, PropCost pc) 
Dynamic lowpropagation cost computation.  
PropCost  Gecode::cost_hi (int n, PropCost pc) 
Dynamic highpropagation cost computation. 
Define Documentation
#define GECODE_ME_CHECK  (  me  ) 
Value:
if (::Gecode::me_failed(me)) \ return ::Gecode::ES_FAILED;
To be used inside the propagate member function of a propagator or the commit member function of a branching.
Definition at line 45 of file macros.icc.
#define GECODE_ME_CHECK_MODIFIED  (  modified,  
me  ) 
Value:
{ \ ModEvent __me__ ## __LINE__ = (me); \ if (::Gecode::me_failed(__me__ ## __LINE__)) \ return ::Gecode::ES_FAILED; \ modified = ::Gecode::me_modified(__me__ ## __LINE__); \ }
To be used inside the propagate member function of a propagator or the commit member function of a branching.
Definition at line 56 of file macros.icc.
#define GECODE_ME_FAIL  (  home,  
me  ) 
Value:
if (::Gecode::me_failed(me)) { \ (home)>fail(); \ return; \ }
To be used inside post functions.
Definition at line 69 of file macros.icc.
#define GECODE_ES_CHECK  (  es  ) 
Value:
{ \ ::Gecode::ExecStatus __es__ ## __LINE__ = (es); \ if (__es__ ## __LINE__ < ::Gecode::ES_OK) \ return __es__ ## __LINE__; \ }
Definition at line 83 of file macros.icc.
#define GECODE_ES_FAIL  (  home,  
es  ) 
Value:
{ \ ::Gecode::ExecStatus __es__ ## __LINE__ = (es); \ assert(__es__ ## __LINE__ != ::Gecode::__ES_SUBSUMED); \ if (__es__ ## __LINE__ < ::Gecode::ES_OK) { \ (home)>fail(); return; \ } \ }
Definition at line 95 of file macros.icc.
#define GECODE_REWRITE  (  prop,  
post  ) 
Value:
{ \ Propagator* __p__ ## __LINE__ = (prop); \ size_t __s__ ## __LINE__ = __p__ ## __LINE__>dispose((home)); \ ExecStatus __es__ ## __LINE__ = (post); \ if (__es__ ## __LINE__ != ::Gecode::ES_OK) \ return ::Gecode::ES_FAILED; \ return ES_SUBSUMED(__p__ ## __LINE__,__s__ ## __LINE__); \ }
Definition at line 108 of file macros.icc.
Typedef Documentation
typedef int Gecode::ModEventDelta 
Modification event deltas.
Modification event deltas are used by propagators. A propagator stores a modification event for each variable type. They can be accessed through a variable or a view from a given propagator. They can be constructed from a given modevent by a variable or view.
Enumeration Type Documentation
enum Gecode::PropCost 
Classification of propagation cost.
 Enumerator:
enum Gecode::PropKind 
Propagation kind.
Signals that a particular kind is used in propagation for the implementation of a particular constraint.
 Enumerator:

PK_DEF Make a default decision. PK_SPEED Prefer speed over memory consumption. PK_MEMORY Prefer little memory over speed.
Definition at line 50 of file propagator.icc.
Function Documentation
void Gecode::Space::fail  (  void  )  [inline, inherited] 
bool Gecode::Space::failed  (  void  )  const [inline, inherited] 
bool Gecode::Space::stable  (  void  )  const [inline, inherited] 
bool Gecode::me_failed  (  ModEvent  me  )  [inline] 
bool Gecode::me_modified  (  ModEvent  me  )  [inline] 
Check whether modification event me describes variable modification.
Definition at line 63 of file modevent.icc.
PropCost Gecode::cost_lo  (  int  n,  
PropCost  pc  
)  [inline] 
Dynamic lowpropagation cost computation.
If n is less than 4, use constant lowcosts, otherwise use pc.
Definition at line 350 of file propagator.icc.
PropCost Gecode::cost_hi  (  int  n,  
PropCost  pc  
)  [inline] 
Dynamic highpropagation cost computation.
If n is less than 4, use constant hightcosts, otherwise use pc.
Definition at line 357 of file propagator.icc.