38 namespace Gecode {
namespace Int {
namespace NoOverlap {
43 :
Base<Box>(home, b, n) {}
64 :
Base<Box>(home, p, p.
n) {}
88 assert(db[
i] > 0); assert(db[j] > 0);
89 if (--db[
i] == 0) e++;
90 if (--db[j] == 0) e++;
105 b[
i].cancel(home, *
this);
ExecStatus ES_SUBSUMED(Propagator &p)
T * alloc(long unsigned int n)
Allocate block of n objects of type T from region.
static ExecStatus post(Home home, Box *b, int n)
Post propagator for boxes b.
No-overlap propagator for mandatory boxes.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Base-class for both propagators and branchers.
#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.
void nooverlap(Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntPropLevel)
Post propagator for rectangle packing.
Post propagator for SetVar SetOpType SetVar SetRelType r
struct Gecode::@585::NNF::@62::@63 b
For binary nodes (and, or, eqv)
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual size_t dispose(Space &home)
Destructor.
Base class for no-overlap propagator.
int n
Number of mandatory boxes: b[0] ... b[n-1].
Propagation has not computed fixpoint.
Gecode toplevel namespace
int ModEventDelta
Modification event deltas.
Home class for posting propagators
ManProp(Home home, Box *b, int n)
Constructor for posting.