40 #ifndef __GECODE_INT_COUNT_HH__ 41 #define __GECODE_INT_COUNT_HH__ 50 namespace Gecode {
namespace Int {
namespace Count {
132 namespace Gecode {
namespace Int {
namespace Count {
138 template<
class VX,
class VY>
157 virtual size_t dispose(
Space& home);
170 template<
class VX,
class VY>
200 template<
class VX,
class VY>
230 template<
class VX,
class VY>
258 namespace Gecode {
namespace Int {
namespace Count {
264 template<
class VX,
class VY,
class VZ>
281 virtual size_t dispose(
Space& home);
292 static bool sharing(
const ViewArray<VX>& x,
const VY& y,
const VZ& z);
305 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
340 template<
class VX,
class VY,
class VZ,
bool shr>
375 template<
class VX,
class VY,
class VZ,
bool shr,
bool dom>
ViewArray< VX > x
Views still to count.
void post(Home home, Term *t, int n, FloatRelType frt, FloatVal c)
Post propagator for linear constraint over floats.
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, IntConLevel icl=ICL_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)
ViewTypeDesc
Description of view type.
Propagator for counting views (equal to number of equal views)
ExecStatus prune(Space &home, ViewArray< VX > &x, ConstIntView)
void atleast(Home home, const IntVarArgs &x, int n, int m, IntConLevel icl=ICL_DEF)
Post constraint .
Base-class for both propagators and branchers.
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)
ViewTypeDesc vtd(VY y)
Return the view type description of 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.
Propagator for counting views (greater or equal integer to number of equal views) ...
Node * x
Pointer to corresponding Boolean expression node.
void count(Home home, const IntVarArgs &x, int n, IntRelType irt, int m, IntConLevel)
Post propagator for .
Gecode toplevel namespace
ExecStatus post_false(Home home, VX x, ConstIntView y)
int ModEventDelta
Modification event deltas.
Home class for posting propagators
ExecStatus post_true(Home home, VX x, ConstIntView y)