41 namespace Gecode {
namespace Int {
namespace NValues {
73 if (y.min() == x.
size()) {
83 vs.
add(home, x[
i].val());
91 assert(y.val() == vs.
size());
102 :
IntBase<VY>(home, share, p) {}
107 return new (home)
EqInt<VY>(home, share, *
this);
115 return sizeof(*this);
ExecStatus prune_lower(Space &home, int *dis, int n_dis)
void add(Space &home)
Add values of assigned views to value set.
int size(void) const
Return size (number of values)
ExecStatus ES_SUBSUMED(Propagator &p)
EqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
Equal to number of values propagator for integer views.
Base-class for propagators.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for views x.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
ViewArray< IntView > x
Array of views.
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.
ExecStatus all_in_valset(Space &home)
Propagate that all views must take values from value set.
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.
ExecStatus prune_upper(Space &home, Graph &g)
const Gecode::ModEvent ME_INT_VAL
Domain operation has resulted in a value (assigned variable)
ModEventDelta med
A set of modification events (used during propagation)
virtual Propagator * copy(Space &home, bool share)
Copy propagator during cloning.
ModEventDelta modeventdelta(void) const
Return the modification event delta.
ValSet vs
Value set storing the values of already assigned views.
#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.
void disjoint(Space &home, Region &r, int *&dis, int &n_dis)
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.
Propagation has not computed fixpoint.
Class for storing values of already assigned views.
int size(void) const
Return size of array (number of elements)
Gecode toplevel namespace
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
virtual size_t dispose(Space &home)
Delete propagator and return its size.
void add(Space &home, int v)
Add value v to value set.
const Gecode::ModEvent ME_INT_NONE
Domain operation has not changed domain.
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .