40 namespace Gecode {
namespace Int {
namespace Exec {
44 if (x.
zero() && (
e != NULL)) {
47 }
else if (x.
zero() && (
t != NULL)) {
51 (void)
new (home)
When(home,x,
t,
e);
58 return new (home)
When(home,share,*
this);
65 }
else if (
t != NULL) {
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
bool failed(void) const
Check whether corresponding space is failed.
void(* t)(Space &)
Then function pointer.
ExecStatus ES_SUBSUMED(Propagator &p)
static ExecStatus post(Home home, BoolView x, void(*t)(Space &), void(*e)(Space &))
Post propagator.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
bool failed(void) const
Check whether space is failed.
Base-class for both propagators and branchers.
Execution has resulted in failure.
void(* e)(Space &)
Else function pointer.
bool one(void) const
Test whether view is assigned to be one.
Node * x
Pointer to corresponding Boolean expression node.
Gecode toplevel namespace
bool zero(void) const
Test whether view is assigned to be zero.
When(Space &home, bool share, When &p)
Constructor for cloning p.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
Boolean view for Boolean variables.