38 namespace Gecode {
namespace Int {
57 template<
class View, PropCond pc,
class CtrlView>
90 template<
class View, PropCond pc,
class CtrlView>
101 View
x0, View
x1, CtrlView
b);
142 View0
x0, View1
x1, CtrlView
b);
157 template<
class View, PropCond pc,
class CtrlView>
159 (
Home home, View y0, CtrlView b0)
162 x0.subscribe(home,*
this,pc);
166 template<
class View, PropCond pc,
class CtrlView>
171 x0.update(home,share,
p.x0);
172 b.update(home,share,
p.b);
175 template<
class View, PropCond pc,
class CtrlView>
180 x0.update(home,share,y0);
181 b.update(home,share,b0);
184 template<
class View, PropCond pc,
class CtrlView>
190 template<
class View, PropCond pc,
class CtrlView>
194 x0.reschedule(home,*
this,pc);
198 template<
class View, PropCond pc,
class CtrlView>
202 x0.cancel(home,*
this,pc);
205 return sizeof(*this);
212 template<
class View, PropCond pc,
class CtrlView>
214 (
Home home, View y0, View y1, CtrlView
b1)
217 x0.subscribe(home,*
this,pc);
218 x1.subscribe(home,*
this,pc);
223 template<
class View, PropCond pc,
class CtrlView>
228 x0.update(home,share,
p.x0);
229 x1.update(home,share,
p.x1);
230 b.update(home,share,
p.b);
233 template<
class View, PropCond pc,
class CtrlView>
238 x0.update(home,share,y0);
239 x1.update(home,share,y1);
240 b.update(home,share,b0);
243 template<
class View, PropCond pc,
class CtrlView>
249 template<
class View, PropCond pc,
class CtrlView>
253 x0.reschedule(home,*
this,pc);
254 x1.reschedule(home,*
this,pc);
259 template<
class View, PropCond pc,
class CtrlView>
263 x0.cancel(home,*
this,pc);
264 x1.cancel(home,*
this,pc);
268 return sizeof(*this);
281 x0.subscribe(home,*
this,pc0);
283 x1.subscribe(home,*
this,pc1);
294 x0.update(home,share,
p.x0);
295 x1.update(home,share,
p.x1);
296 b.update(home,share,
p.b);
306 x0.update(home,share,y0);
307 x1.update(home,share,y1);
308 b.update(home,share,b0);
324 x0.reschedule(home,*
this,pc0);
326 x1.reschedule(home,*
this,pc1);
335 x0.cancel(home,*
this,pc0);
337 x1.cancel(home,*
this,pc1);
340 return sizeof(*this);
virtual void reschedule(Space &home)
Schedule function.
const PropCond PC_GEN_NONE
Propagation condition to be ignored (convenience)
ReBinaryPropagator(Space &home, bool share, ReBinaryPropagator &p)
Constructor for cloning p.
Reified unary propagator.
Reified binary propagator.
Reified mixed binary propagator.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
Base-class for propagators.
ReUnaryPropagator(Space &home, bool share, ReUnaryPropagator &p)
Constructor for cloning p.
static PropCost unary(PropCost::Mod m)
Single variable for modifier pcm.
CtrlView b
Boolean control view.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
int p
Number of positive literals for node type.
int PropCond
Type for propagation conditions.
ModEventDelta med
A set of modification events (used during propagation)
View0 x0
View of type View0.
struct Gecode::@579::NNF::@61::@62 b
For binary nodes (and, or, eqv)
virtual size_t dispose(Space &home)
Delete actor and return its size.
virtual void reschedule(Space &home)
Schedule function.
CtrlView b
Boolean control view.
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)
ReMixBinaryPropagator(Space &home, bool share, ReMixBinaryPropagator &p)
Constructor for cloning p.
Gecode toplevel namespace
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual void reschedule(Space &home)
Schedule function.
CtrlView b
Boolean control view.
View1 x1
View of type View1.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
static PropCost binary(PropCost::Mod m)
Two variables for modifier pcm.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)