Status of constraint propagation and branching commit
[Programming actors]
Detailed Description
Note that the enum values starting with a double underscore should not be used directly. Instead, use the provided functions with the same name without leading underscores.
Functions | |
ExecStatus | Gecode::ES_SUBSUMED (Propagator *p, size_t s) |
Propagator p is subsumed | |
ExecStatus | Gecode::ES_SUBSUMED (Propagator *p, Space *home) |
Propagator p is subsumed | |
ExecStatus | Gecode::ES_FIX_PARTIAL (Propagator *p, ModEventDelta med) |
Propagator p has computed partial fixpoint | |
ExecStatus | Gecode::ES_NOFIX_PARTIAL (Propagator *p, ModEventDelta med) |
Propagator p has not computed partial fixpoint | |
template<class A> | |
ExecStatus | Gecode::ES_SUBSUMED_FIX (A *a, Space *home, Council< A > &c) |
Advisor a is subsumed | |
template<class A> | |
ExecStatus | Gecode::ES_SUBSUMED_NOFIX (A *a, Space *home, Council< A > &c) |
Advisor a is subsumed |
Function Documentation
ExecStatus Gecode::ES_SUBSUMED | ( | Propagator * | p, | |
size_t | s | |||
) | [inline] |
Propagator p is subsumed
The size of the propagator is s.
Note that the propagator must be subsumed and also disposed. So in general, there should be code such as
return ES_SUBSUMED(this,dispose(home))
However, in case the propagator has nothing to dispose (all its views are assigned and no external resources) it is sufficient to do
return ES_SUBSUMED(this,sizeof(*this))
- Warning:
- Has a side-effect on the propagator. Overwrites the modification event delta of a propagator. Use only directly with returning from propagation.
ExecStatus Gecode::ES_SUBSUMED | ( | Propagator * | p, | |
Space * | home | |||
) | [inline] |
ExecStatus Gecode::ES_FIX_PARTIAL | ( | Propagator * | p, | |
ModEventDelta | med | |||
) | [inline] |
ExecStatus Gecode::ES_NOFIX_PARTIAL | ( | Propagator * | p, | |
ModEventDelta | med | |||
) | [inline] |