34namespace Gecode {
namespace Int {
namespace NoOverlap {
40 for (
int i=0; i<
n; i++)
41 b[i].subscribe(home,*
this);
49 while (!
b[j].mandatory() && (--j >= 0)) {}
50 while (
b[i].mandatory() && (++i <
n)) {}
60 for (
int i=0; i<
n; i++)
61 b[i].cancel(home,*
this);
71 for (
int i=0; i<m; i++)
72 b[i].update(home,
p.b[i]);
84 for (
int i=0; i<
n; i++)
85 b[i].reschedule(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.
virtual size_t dispose(Space &home)
Delete actor and return its size.
Home class for posting propagators
Base class for no-overlap propagator.
int n
Number of mandatory boxes: b[0] ... b[n-1].
Base(Home home, Box *b, int n)
Constructor for posting with n mandatory boxes.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
virtual size_t dispose(Space &home)
Destructor.
static int partition(Box *b, int i, int n)
Partition n boxes b starting at position i.
virtual void reschedule(Space &home)
Schedule function.
static PropCost quadratic(PropCost::Mod m, unsigned int n)
Quadratic complexity for modifier m and size measure n.
Base-class for propagators.
int ModEventDelta
Modification event deltas.
Gecode toplevel namespace