53 template<
class View, PropCond pc,
class CtrlView>
86 template<
class View, PropCond pc,
class CtrlView>
138 View0
x0, View1
x1, CtrlView
b);
153 template<
class View, PropCond pc,
class CtrlView>
158 x0.subscribe(home,*
this,pc);
162 template<
class View, PropCond pc,
class CtrlView>
167 x0.update(home,p.
x0);
171 template<
class View, PropCond pc,
class CtrlView>
180 template<
class View, PropCond pc,
class CtrlView>
186 template<
class View, PropCond pc,
class CtrlView>
190 x0.reschedule(home,*
this,pc);
194 template<
class View, PropCond pc,
class CtrlView>
198 x0.cancel(home,*
this,pc);
201 return sizeof(*this);
208 template<
class View, PropCond pc,
class CtrlView>
213 x0.subscribe(home,*
this,pc);
214 x1.subscribe(home,*
this,pc);
219 template<
class View, PropCond pc,
class CtrlView>
224 x0.update(home,p.
x0);
225 x1.update(home,p.
x1);
229 template<
class View, PropCond pc,
class CtrlView>
239 template<
class View, PropCond pc,
class CtrlView>
245 template<
class View, PropCond pc,
class CtrlView>
249 x0.reschedule(home,*
this,pc);
250 x1.reschedule(home,*
this,pc);
255 template<
class View, PropCond pc,
class CtrlView>
259 x0.cancel(home,*
this,pc);
260 x1.cancel(home,*
this,pc);
264 return sizeof(*this);
277 x0.subscribe(home,*
this,pc0);
279 x1.subscribe(home,*
this,pc1);
290 x0.update(home,p.
x0);
291 x1.update(home,p.
x1);
320 x0.reschedule(home,*
this,pc0);
322 x1.reschedule(home,*
this,pc1);
331 x0.cancel(home,*
this,pc0);
333 x1.cancel(home,*
this,pc1);
336 return sizeof(*this);
virtual size_t dispose(Space &home)
Delete actor and return its size.
Home class for posting propagators
Reified binary propagator.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
ReBinaryPropagator(Space &home, ReBinaryPropagator &p)
Constructor for cloning p.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual void reschedule(Space &home)
Schedule function.
CtrlView b
Boolean control view.
Reified mixed binary propagator.
ReMixBinaryPropagator(Space &home, ReMixBinaryPropagator &p)
Constructor for cloning p.
View1 x1
View of type View1.
virtual void reschedule(Space &home)
Schedule function.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
CtrlView b
Boolean control view.
View0 x0
View of type View0.
Reified unary propagator.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
CtrlView b
Boolean control view.
ReUnaryPropagator(Space &home, ReUnaryPropagator &p)
Constructor for cloning p.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual void reschedule(Space &home)
Schedule function.
static PropCost unary(PropCost::Mod m)
Single variable for modifier pcm.
static PropCost binary(PropCost::Mod m)
Two variables for modifier pcm.
Base-class for propagators.
ModEventDelta med
A set of modification events (used during propagation)
Propagator(Home home)
Constructor for posting.
int ModEventDelta
Modification event deltas.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
Gecode toplevel namespace
int PropCond
Type for propagation conditions.
const PropCond PC_GEN_NONE
Propagation condition to be ignored (convenience)