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.
void(* t)(Space &)
Then function pointer.
bool zero(void) const
Test whether view is assigned to be zero.
ExecStatus ES_SUBSUMED(Propagator &p)
bool one(void) const
Test whether view is assigned to be one.
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.
Base-class for both propagators and branchers.
Execution has resulted in failure.
void(* e)(Space &)
Else function pointer.
bool failed(void) const
Check whether space is failed.
bool failed(void) const
Check whether corresponding space is failed.
Node * x
Pointer to corresponding Boolean expression node.
Gecode toplevel namespace
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.