37 namespace Gecode {
namespace Int {
namespace NValues {
64 if (y.min() == x.
size()) {
74 vs.
add(home, x[
i].val());
81 assert(vs.
size() >= y.max());
Greater or equal to number of values propagator for integer views.
void add(Space &home)
Add values of assigned views to value set.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
ExecStatus ES_SUBSUMED(Propagator &p)
GqInt(Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
Constructor for posting.
Base-class for propagators.
static ExecStatus post(Home home, ViewArray< View > &x)
Post propagator for views x.
void eliminate(Space &home)
Eliminate subsumed views (all values included in the value set vs)
ViewArray< IntView > x
Array of views.
#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.
int n
Number of negative literals for node type.
Gecode::IntArgs i({1, 2, 3, 4})
int size(void) const
Return size (number of values)
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)
static ExecStatus post(Home home, ViewArray< IntView > &x, VY y)
Post propagator for .
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.
Post propagator for SetVar SetOpType SetVar y
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.
Post propagator for SetVar x
Propagation has not computed fixpoint.
void unique(void)
Remove all duplicate views from array (changes element order)
Class for storing values of already assigned views.
Gecode toplevel namespace
Number of values propagator for integer views base class.
int ModEventDelta
Modification event deltas.
int size(void) const
Return size of array (number of elements)
Home class for posting propagators
void add(Space &home, int v)
Add value v to value set.
virtual Propagator * copy(Space &home)
Copy propagator during cloning.