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 |
| Base-class for both propagators and branchings. More... | |
| class | Gecode::Propagator |
| Base-class 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 |
| Base-class for advisors. More... | |
| class | Gecode::BranchingDesc |
| Branch description for batch recomputation. More... | |
| class | Gecode::Branching |
| Base-class 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 low-propagation cost computation. | |
| PropCost | Gecode::cost_hi (int n, PropCost pc) |
| Dynamic high-propagation 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 low-propagation cost computation.
If n is less than 4, use constant low-costs, otherwise use pc.
Definition at line 350 of file propagator.icc.
| PropCost Gecode::cost_hi | ( | int | n, | |
| PropCost | pc | |||
| ) | [inline] |
Dynamic high-propagation cost computation.
If n is less than 4, use constant hight-costs, otherwise use pc.
Definition at line 357 of file propagator.icc.
