34namespace Gecode {
namespace Int {
namespace Count {
36 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
41 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
55 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
60 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
66 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
int p
Number of positive literals for node type.
Base-class for both propagators and branchers.
Home class for posting propagators
Propagator for counting views (greater or equal integer to number of equal views)
static ExecStatus post(Home home, ViewArray< VX > &x, VY y, int c)
Post propagator for .
Propagator for counting views (greater or equal to number of equal views)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, ViewArray< VX > &x, VY y, VZ z, int c)
Post propagator for .
virtual Actor * copy(Space &home)
Create copy during cloning.
GqView(Space &home, GqView &p)
Constructor for cloning p.
Base-class for count propagators (view)
ModEventDelta modeventdelta(void) const
Return the modification event delta.
bool assigned(void) const
Test whether view is assigned.
ExecStatus ES_SUBSUMED(Propagator &p)
int ModEventDelta
Modification event deltas.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
ExecStatus prune(Home home, ViewArray< VX > &x, VX y)
Prune that y is the union of x.
bool isval(VY y)
Return whether y is a value.
ExecStatus post_true(Home home, ViewArray< VX > &x, VX y)
Post that all views in x are equal to y.
const Gecode::ModEvent ME_INT_NONE
Domain operation has not changed domain.
Gecode toplevel namespace
void count(Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel ipl=IPL_DEF)
Post propagator for .
void atmost(Home home, const IntVarArgs &x, int n, int m, IntPropLevel ipl=IPL_DEF)
Post constraint .
void dom(Home home, FloatVar x, FloatVal n)
Propagates .
Post propagator for SetVar SetOpType SetVar SetRelType SetVar z
Post propagator for SetVar SetOpType SetVar y
@ ES_OK
Execution is okay.
@ ES_FIX
Propagation has computed fixpoint.
@ ES_NOFIX
Propagation has not computed fixpoint.
Post propagator for SetVar x