34namespace Gecode {
namespace Int {
namespace NoOverlap {
74 int* db =
r.alloc<
int>(
n);
75 for (
int i=0; i<
n; i++)
81 for (
int i=0; i<
n; i++)
82 for (
int j=0; j<i; j++)
84 assert(db[i] > 0); assert(db[j] > 0);
85 if (--db[i] == 0) e++;
86 if (--db[j] == 0) e++;
101 b[i].cancel(home, *
this);
struct Gecode::@603::NNF::@65::@66 b
For binary nodes (and, or, eqv)
int p
Number of positive literals for node type.
int n
Number of negative literals for node type.
Base-class for both propagators and branchers.
Home class for posting propagators
Base class for no-overlap propagator.
No-overlap propagator for mandatory boxes.
ManProp(Home home, Box *b, int n)
Constructor for posting.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual size_t dispose(Space &home)
Destructor.
static ExecStatus post(Home home, Box *b, int n)
Post propagator for boxes b.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
ExecStatus ES_SUBSUMED(Propagator &p)
int ModEventDelta
Modification event deltas.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
void nooverlap(Home home, const IntVarArgs &x, const IntArgs &w, const IntVarArgs &y, const IntArgs &h, IntPropLevel ipl=IPL_DEF)
Post propagator for rectangle packing.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
@ ES_OK
Execution is okay.
@ ES_NOFIX
Propagation has not computed fixpoint.