38 namespace Gecode {
namespace Int {
57 template<
class View, PropCond pc,
class CtrlView>
88 template<
class View, PropCond pc,
class CtrlView>
99 View x0, View x1, CtrlView b);
138 View0 x0, View1 x1, CtrlView b);
151 template<
class View, PropCond pc,
class CtrlView>
153 (
Home home, View y0, CtrlView b0)
156 x0.subscribe(home,*
this,pc);
160 template<
class View, PropCond pc,
class CtrlView>
165 x0.update(home,share,p.
x0);
166 b.update(home,share,p.
b);
169 template<
class View, PropCond pc,
class CtrlView>
174 x0.update(home,share,y0);
175 b.update(home,share,b0);
178 template<
class View, PropCond pc,
class CtrlView>
184 template<
class View, PropCond pc,
class CtrlView>
188 x0.cancel(home,*
this,pc);
191 return sizeof(*this);
198 template<
class View, PropCond pc,
class CtrlView>
200 (
Home home, View y0, View y1, CtrlView
b1)
203 x0.subscribe(home,*
this,pc);
204 x1.subscribe(home,*
this,pc);
209 template<
class View, PropCond pc,
class CtrlView>
214 x0.update(home,share,p.
x0);
215 x1.update(home,share,p.
x1);
216 b.update(home,share,p.
b);
219 template<
class View, PropCond pc,
class CtrlView>
224 x0.update(home,share,y0);
225 x1.update(home,share,y1);
226 b.update(home,share,b0);
229 template<
class View, PropCond pc,
class CtrlView>
235 template<
class View, PropCond pc,
class CtrlView>
239 x0.cancel(home,*
this,pc);
240 x1.cancel(home,*
this,pc);
244 return sizeof(*this);
257 x0.subscribe(home,*
this,pc0);
259 x1.subscribe(home,*
this,pc1);
270 x0.update(home,share,p.
x0);
271 x1.update(home,share,p.
x1);
272 b.update(home,share,p.
b);
282 x0.update(home,share,y0);
283 x1.update(home,share,y1);
284 b.update(home,share,b0);
300 x0.cancel(home,*
this,pc0);
302 x1.cancel(home,*
this,pc1);
305 return sizeof(*this);
const PropCond PC_GEN_NONE
Propagation condition to be ignored (convenience)
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low unary)
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
ReBinaryPropagator(Space &home, bool share, ReBinaryPropagator &p)
Constructor for cloning p.
Reified unary propagator.
Reified binary propagator.
Reified mixed binary propagator.
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.
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.
virtual size_t dispose(Space &home)
Delete actor and return its size.
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.
struct Gecode::@518::NNF::@57::@58 b
For binary nodes (and, or, eqv)
Gecode toplevel namespace
virtual size_t dispose(Space &home)
Delete propagator and return its size.
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)