Go to the documentation of this file.
40 namespace Gecode {
namespace Set {
namespace Channel {
51 for (
int i=
ys.size();
i--;)
74 int xssize = xs.size();
75 for (
int i=ys.size();
i--;) {
79 int yssize = ys.size();
82 for (
int i=xs.size();
i--;) {
110 return sizeof(*this);
123 for (
int v=xs.size();
v--;) {
126 if (xs[
v].modified())
129 if (xs[
v].modified()) {
139 for (
int i=ys.size();
i--;) {
140 if (ys[
i].glbModified()) {
145 ys[
i].cacheGlb(home);
147 if (ys[
i].lubModified()) {
152 ys[
i].cacheLub(home);
ViewArray< CachedView< View > > ys
SetViews that are constrained to be disjoint.
ModEvent exclude(Space &home, View &x, int s)
Prune view x to exclude all values from s.
void subscribe(Space &home, Propagator &p, PropCond pc, bool schedule=true)
Subscribe propagator p with propagation condition pc to variable.
ExecStatus ES_SUBSUMED(Propagator &p)
static ExecStatus post(Home home, ViewArray< Gecode::Int::CachedView< Gecode::Int::IntView > > &x, ViewArray< CachedView< View > > &y)
Post propagator for .
static const IntSet empty
Empty set.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as PC_QUADRATIC_LO)
const int min
Smallest allowed integer in integer set.
bool assigned(View x, int v)
Whether x is assigned to value v.
Base-class for both propagators and branchers.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
static PropCost quadratic(PropCost::Mod m, unsigned int n)
Quadratic complexity for modifier m and size measure n.
Range iterator for difference of greatest lower bound and cache
int val(void) const
Return current value.
Gecode toplevel namespace
Base-class for propagators.
const int max
Largest allowed integer in integer set.
void update(Space &home, ViewArray< View > &a)
Update array to be a clone of array a.
Home class for posting propagators
Propagator for channelling between variable-value-dual models
Value iterator from range iterator.
const int max
Largest allowed integer value.
ViewArray< Gecode::Int::CachedView< Gecode::Int::IntView > > xs
IntViews, reflects which set contains element .
Range iterator for cached integer views
virtual void reschedule(Space &home)
Schedule function.
Range iterator for difference of least upper bound and cache
ChannelInt(Space &home, ChannelInt &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Integer view for integer variables.
int size(void) const
Return size of array (number of elements)
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
virtual size_t dispose(Space &home)
Delete actor and return its size.
ModEvent include(Space &home, View &x, int s)
Prune view x to only include values from s.
@ ES_FAILED
Execution has resulted in failure.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
int ModEventDelta
Modification event deltas.
@ ES_NOFIX
Propagation has not computed fixpoint.
Gecode::IntArgs i({1, 2, 3, 4})
@ ES_OK
Execution is okay.
int p
Number of positive literals for node type.