Mandatory box class. More...
#include <no-overlap.hh>
Public Member Functions | |
const Dim & | operator[] (int i) const |
Access to dimension i. | |
Dim & | operator[] (int i) |
Access to dimension i. | |
bool | mandatory (void) const |
Whether box is mandatory. | |
bool | optional (void) const |
Whether box is optional. | |
bool | excluded (void) const |
Whether box is excluded. | |
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. | |
bool | overlap (const ManBox< Dim, n > &b) const |
Check whether this box overlaps with b. | |
ExecStatus | nooverlap (Space &home, ManBox< Dim, n > &b) |
Propagate that this box does not overlap with b. | |
void | update (Space &home, bool share, ManBox< Dim, n > &r) |
Update box during cloning. | |
void | subscribe (Space &home, Propagator &p) |
Subscribe propagator p to box. | |
void | cancel (Space &home, Propagator &p) |
Cancel propagator p from box. | |
Static Public Member Functions | |
static int | dim (void) |
Return number of dimensions. | |
Protected Attributes | |
Dim | d [n] |
Dimensions. |
Mandatory box class.
const Dim & Gecode::Int::NoOverlap::ManBox::operator[] | ( | int | i | ) | const [inline] |
Dim & Gecode::Int::NoOverlap::ManBox::operator[] | ( | int | i | ) | [inline] |
int Gecode::Int::NoOverlap::ManBox::dim | ( | void | ) | [inline, static] |
bool Gecode::Int::NoOverlap::ManBox::mandatory | ( | void | ) | const [inline] |
Whether box is mandatory.
Reimplemented in Gecode::Int::NoOverlap::OptBox.
bool Gecode::Int::NoOverlap::ManBox::optional | ( | void | ) | const [inline] |
Whether box is optional.
Reimplemented in Gecode::Int::NoOverlap::OptBox.
bool Gecode::Int::NoOverlap::ManBox::excluded | ( | void | ) | const [inline] |
Whether box is excluded.
Reimplemented in Gecode::Int::NoOverlap::OptBox.
ExecStatus Gecode::Int::NoOverlap::ManBox::exclude | ( | Space & | home | ) | [inline] |
Exclude box.
Reimplemented in Gecode::Int::NoOverlap::OptBox.
bool Gecode::Int::NoOverlap::ManBox::nooverlap | ( | const ManBox< Dim, n > & | b | ) | const [inline] |
bool Gecode::Int::NoOverlap::ManBox::overlap | ( | const ManBox< Dim, n > & | b | ) | const [inline] |
ExecStatus Gecode::Int::NoOverlap::ManBox::nooverlap | ( | Space & | home, |
ManBox< Dim, n > & | b | ||
) | [inline] |
void Gecode::Int::NoOverlap::ManBox::subscribe | ( | Space & | home, |
Propagator & | p | ||
) | [inline] |
Subscribe propagator p to box.
Reimplemented in Gecode::Int::NoOverlap::OptBox.
void Gecode::Int::NoOverlap::ManBox::cancel | ( | Space & | home, |
Propagator & | p | ||
) | [inline] |
Cancel propagator p from box.
Reimplemented in Gecode::Int::NoOverlap::OptBox.
Dim Gecode::Int::NoOverlap::ManBox::d[n] [protected] |
Dimensions.
Definition at line 149 of file no-overlap.hh.