40 #ifndef __GECODE_INT_COUNT_HH__ 41 #define __GECODE_INT_COUNT_HH__ 50 namespace Gecode {
namespace Int {
namespace Count {
69 void cancel(Space& home, Propagator&
p, VY
y);
135 namespace Gecode {
namespace Int {
namespace Count {
141 template<
class VX,
class VY>
162 virtual size_t dispose(
Space& home);
175 template<
class VX,
class VY>
205 template<
class VX,
class VY>
235 template<
class VX,
class VY>
263 namespace Gecode {
namespace Int {
namespace Count {
269 template<
class VX,
class VY,
class VZ>
286 virtual size_t dispose(
Space& home);
299 static bool sharing(
const ViewArray<VX>& x,
const VY& y,
const VZ& z);
312 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
347 template<
class VX,
class VY,
class VZ,
bool shr>
382 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
ViewArray< VX > x
Views still to count.
void count(Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntPropLevel)
Post propagator for .
int n_s
Views from x[0] ... x[n_s-1] have subscriptions.
void cancel(Space &home, Propagator &p, IntSet &y)
VZ z
View which yields result of counting.
Base-class for count propagators (view)
void atmost(Home home, const IntVarArgs &x, int n, int m, IntPropLevel ipl=IPL_DEF)
Post constraint .
RelTest holds(VX x, ConstIntView y)
Test whether x and y are equal.
Base-class for propagators.
Baseclass for count propagators (integer)
bool isval(VY y)
Return whether y is a value.
Propagator for counting views (equal to number of equal views)
ExecStatus prune(Space &home, ViewArray< VX > &x, ConstIntView)
bool shared(const IntSet &, VX)
Base-class for both propagators and branchers.
void atleast(Home home, const IntVarArgs &x, int n, int m, IntPropLevel ipl=IPL_DEF)
Post constraint .
Propagator for counting views (less or equal integer to number of equal views)
Propagator for counting views (greater or equal to number of equal views)
Gecode::FloatVal c(-8, 8)
int p
Number of positive literals for node type.
Propagator for counting views (equal integer to number of equal views)
ViewArray< VX > x
Views still to count.
int c
Number of views which are equal and have been eliminated.
RelTest
Result of testing relation.
void subscribe(Space &home, Propagator &p, IntSet &y)
Propagator for counting views (less or equal to number of equal views)
int c
Number of views which are equal and have been eliminated.
Post propagator for SetVar SetOpType SetVar SetRelType SetVar z
Propagator for counting views (greater or equal integer to number of equal views) ...
Post propagator for SetVar SetOpType SetVar y
Post propagator for SetVar x
bool isintset(VY y)
Return whether y is an integer set.
Gecode toplevel namespace
ExecStatus post_false(Home home, VX x, ConstIntView y)
void reschedule(Space &home, Propagator &p, IntSet &y)
int ModEventDelta
Modification event deltas.
Home class for posting propagators
void update(IntSet &y, Space &home, IntSet &py)
TFE post(PropagatorGroup g)
Only post functions (but not propagators) from g are considered.
ExecStatus post_true(Home home, VX x, ConstIntView y)