Go to the documentation of this file.
38 #ifndef __GECODE_INT_NO_OVERLAP_HH__
39 #define __GECODE_INT_NO_OVERLAP_HH__
48 namespace Gecode {
namespace Int {
namespace NoOverlap {
144 namespace Gecode {
namespace Int {
namespace NoOverlap {
149 template<
class Dim,
int n>
160 static int dim(
void);
194 template<
class Dim,
int n>
228 namespace Gecode {
namespace Int {
namespace NoOverlap {
virtual size_t dispose(Space &home)
Destructor.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
ExecStatus exclude(Space &home)
Exclude box.
int sec(void) const
Return smallest end coordinate.
static int dim(void)
Return number of dimensions.
int m
Number of optional boxes: b[n] ... b[n+m-1].
bool overlap(const ManBox< Dim, n > &b) const
Check whether this box overlaps with b.
int lec(void) const
Return largest end coordinate.
int lec(void) const
Return largest end coordinate.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
void reschedule(Space &home, Propagator &p)
Schedule propagator p.
Gecode::IntArgs i(4, 1, 2, 3, 4)
void subscribe(Space &home, Propagator &p)
Subscribe propagator p to box.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Base-class for both propagators and branchers.
Dimension combining coordinate and integer size information.
bool excluded(void) const
Whether box is excluded.
IntView c1
End coordinate.
void subscribe(Space &home, Propagator &p)
Subscribe propagator p to dimension.
bool mandatory(void) const
Whether box is mandatory.
Boolean view for Boolean variables.
Gecode toplevel namespace
static ExecStatus post(Home home, Box *b, int n)
Post propagator for boxes b.
Base-class for propagators.
virtual size_t dispose(Space &home)
Destructor.
virtual size_t dispose(Space &home)
Destructor.
void update(Space &home, bool share, ManBox< Dim, n > &r)
Update box during cloning.
Dimension combining coordinate and integer view size information.
Home class for posting propagators
void update(Space &home, bool share, FixDim &d)
Update dimension during cloning.
struct Gecode::@579::NNF::@61::@62 b
For binary nodes (and, or, eqv)
static int partition(Box *b, int i, int n)
Partition n boxes b starting at position i.
Post propagator for SetVar SetOpType SetVar SetRelType r
OptProp(Home home, Box *b, int n, int m)
Constructor for posting.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual void reschedule(Space &home)
Schedule function.
ModEventDelta med
A set of modification events (used during propagation)
int lsc(void) const
Return largest start coordinate.
bool mandatory(void) const
Whether box is mandatory.
int lsc(void) const
Return largest start coordinate.
FixDim(void)
Default constructor.
bool excluded(void) const
Whether box is excluded.
No-overlap propagator for optional boxes.
const Dim & operator[](int i) const
Access to dimension i.
void cancel(Space &home, Propagator &p)
Cancel propagator p from box.
static ExecStatus post(Home home, Box *b, int n)
Post propagator for boxes b.
FlexDim(void)
Default constructor.
void reschedule(Space &home, Propagator &p)
Schedule propagator p.
void reschedule(Space &home, Propagator &p)
Schedule propagator p.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
int sec(void) const
Return smallest end coordinate.
void cancel(Space &home, Propagator &p)
Cancel propagator p from box.
bool optional(void) const
Whether box is optional.
No-overlap propagator for mandatory boxes.
int ssc(void) const
Return smallest start coordinate.
ExecStatus nooverlap(Space &home, int n, int m)
Dimension must not overlap with coordinates n to m.
Integer view for integer variables.
void cancel(Space &home, Propagator &p)
Cancel propagator p from dimension.
Base class for no-overlap propagator.
void reschedule(Space &home, Propagator &p)
Schedule propagator p.
int n
Number of mandatory boxes: b[0] ... b[n-1].
ExecStatus nooverlap(Space &home, int n, int m)
Dimension must not overlap with coordinates n to m.
void update(Space &home, bool share, OptBox< Dim, n > &r)
Update box during cloning.
int ssc(void) const
Return smallest start coordinate.
void cancel(Space &home, Propagator &p)
Cancel propagator p from dimension.
void update(Space &home, bool share, FlexDim &d)
Update dimension during cloning.
int n
Number of negative literals for node type.
void subscribe(Space &home, Propagator &p)
Subscribe propagator p to box.
int ModEventDelta
Modification event deltas.
BoolView o
Whether box is optional or not.
bool optional(void) const
Whether box is optional.
int p
Number of positive literals for node type.
IntView c0
Start coordinate.
ExecStatus exclude(Space &home)
Exclude box.
bool nooverlap(const ManBox< Dim, n > &b) const
Check whether this box does not any longer overlap with b.
ManProp(Home home, Box *b, int n)
Constructor for posting.
void subscribe(Space &home, Propagator &p)
Subscribe propagator p to dimension.
Base(Home home, Box *b, int n)
Constructor for posting with n mandatory boxes.