
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.