40 namespace Gecode {
namespace Int {
namespace Channel {
43 LinkSingle::LinkSingle(Space& home,
bool share, LinkSingle&
p)
49 return new (home)
LinkSingle(home,share,*
this);
61 }
else if (
x0.
one()) {
68 assert(
x1.
val() == 1);
int val(void) const
Return assigned value (only if assigned)
bool none(void) const
Test whether view is not yet assigned.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
ExecStatus ES_SUBSUMED(Propagator &p)
BoolView x0
View of type View0.
ModEvent eq(Space &home, int n)
Restrict domain values to be equal to n.
IntView x1
View of type View1.
static PropCost unary(PropCost::Mod m)
Single variable for modifier pcm.
int p
Number of positive literals for node type.
ModEvent zero_none(Space &home)
Assign not yet assigned view to zero.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
bool one(void) const
Test whether view is assigned to be one.
Link propagator for a single Boolean view.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
bool assigned(void) const
Test whether view is assigned.
Gecode toplevel namespace
ModEvent one_none(Space &home)
Assign not yet assigned view to one.
bool zero(void) const
Test whether view is assigned to be zero.
int ModEventDelta
Modification event deltas.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
const Gecode::PropCond PC_BOOL_VAL
Propagate when a view becomes assigned (single value)