38 namespace Gecode {
namespace Int {
namespace Count {
40 template<
class VX,
class VY>
47 for (
int i=
n_s;
i--; )
52 template<
class VX,
class VY>
57 for (
int i=n_s;
i--; )
64 template<
class VX,
class VY>
69 y.update(home,share,p.
y);
72 template<
class VX,
class VY>
void update(Space &, bool share, ViewArray< View > &a)
Update array to be a clone of array a.
ViewArray< VX > x
Views still to count.
static PropCost linear(PropCost::Mod m, unsigned int n)
Linear complexity for modifier pcm and size measure n.
int n_s
Views from x[0] ... x[n_s-1] have subscriptions.
Actor must always be disposed.
void cancel(Space &home, Propagator &p, IntSet &y)
Base-class for propagators.
Baseclass for count propagators (integer)
Gecode::FloatVal c(-8, 8)
int p
Number of positive literals for node type.
Gecode::IntArgs i(4, 1, 2, 3, 4)
void subscribe(Space &home, Propagator &p, IntSet &y)
ViewTypeDesc vtd(VY y)
Return the view type description of y.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low linear)
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
void notice(Actor &a, ActorProperty p, bool duplicate=false)
Notice actor property.
Node * x
Pointer to corresponding Boolean expression node.
void ignore(Actor &a, ActorProperty p, bool duplicate=false)
Ignore actor property.
virtual size_t dispose(Space &home)
Delete actor and return its size.
IntBase(Space &home, bool share, IntBase &p)
Constructor for cloning p.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Gecode toplevel namespace
int ModEventDelta
Modification event deltas.
Home class for posting propagators