41 namespace Gecode {
namespace Int {
namespace NValues {
70 if (y.min() >= x.
size())
78 vs.
add(home, x[
i].val());
85 assert(y.min() >= vs.
size());
98 :
IntBase<VY>(home, share, p) {}
103 return new (home)
LqInt<VY>(home, share, *
this);
111 return sizeof(*this);
127 if (y.max() == vs.size())
128 return all_in_valset(home);
130 if (
x.size() + vs.size() <= y.min())
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
int size(void) const
Return size (number of values)
ExecStatus ES_SUBSUMED(Propagator &p)
virtual size_t dispose(Space &home)
Delete propagator and return its size.
LqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
Base-class for propagators.
void unique(const Space &home)
Remove all duplicate views from array (changes element order)
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
int p
Number of positive literals for node type.
Gecode::IntArgs i(4, 1, 2, 3, 4)
int n
Number of negative literals for node type.
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
void notice(Actor &a, ActorProperty p, bool duplicate=false)
Notice actor property.
Less or equal to number of values propagator for integer views.
Node * x
Pointer to corresponding Boolean expression node.
void ignore(Actor &a, ActorProperty p, bool duplicate=false)
Ignore actor property.
bool assigned(View x, int v)
Whether x is assigned to value v.
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
bool disjoint(I &i, J &j)
Check whether range iterators i and j are disjoint.
Propagation has not computed fixpoint.
Class for storing values of already assigned views.
int size(void) const
Return size of array (number of elements)
static ExecStatus post(Home home, ViewArray< View > &x)
Post domain consistent propagator .
Number of values propagator for integer views base class.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
void add(Space &home, int v)
Add value v to value set.
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .