Gecode::Int::NoOverlap::ManBox< Dim, n > Class Template Reference

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, 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.
void | reschedule (Space &home, Propagator &p)
| Schedule propagator p.

## Static Public Member Functions

static int | dim (void)
| Return number of dimensions.

## Protected Attributes

Dim | d [n]
| Dimensions.

## Detailed Description

template<class Dim, int n>
class Gecode::Int::NoOverlap::ManBox< Dim, n >

Mandatory box class.

Definition at line 146 of file no-overlap.hh.

## Member Function Documentation

## operator[]() [1/2]

template<class Dim, int n>

const Dim & Gecode::Int::NoOverlap::ManBox< Dim, n >::operator[] | ( | int | i | ) | const

inline

Access to dimension i.

Definition at line 42 of file box.hpp.

## operator[]() [2/2]

template<class Dim, int n>

Dim & Gecode::Int::NoOverlap::ManBox< Dim, n >::operator[] | ( | int | i | ) |

inline

Access to dimension i.

Definition at line 48 of file box.hpp.

## dim()

template<class Dim, int n>

int Gecode::Int::NoOverlap::ManBox< Dim, n >::dim | ( | void |  | ) |

inline static

Return number of dimensions.

Definition at line 54 of file box.hpp.

## mandatory()

template<class Dim, int n>

bool Gecode::Int::NoOverlap::ManBox< Dim, n >::mandatory | ( | void |  | ) | const

inline

Whether box is mandatory.

Definition at line 60 of file box.hpp.

## optional()

template<class Dim, int n>

bool Gecode::Int::NoOverlap::ManBox< Dim, n >::optional | ( | void |  | ) | const

inline

Whether box is optional.

Definition at line 70 of file box.hpp.

## excluded()

template<class Dim, int n>

bool Gecode::Int::NoOverlap::ManBox< Dim, n >::excluded | ( | void |  | ) | const

inline

Whether box is excluded.

Definition at line 65 of file box.hpp.

## exclude()

template<class Dim, int n>

ExecStatus Gecode::Int::NoOverlap::ManBox< Dim, n >::exclude | ( | Space & | home | ) |

inline

Exclude box.

Definition at line 76 of file box.hpp.

## nooverlap() [1/2]

template<class Dim, int n>

bool Gecode::Int::NoOverlap::ManBox< Dim, n >::nooverlap | ( | const ManBox< Dim, n > & | b | ) | const

inline

Check whether this box does not any longer overlap with b.

Definition at line 82 of file box.hpp.

## overlap()

template<class Dim, int n>

bool Gecode::Int::NoOverlap::ManBox< Dim, n >::overlap | ( | const ManBox< Dim, n > & | b | ) | const

inline

Check whether this box overlaps with b.

Definition at line 91 of file box.hpp.

## nooverlap() [2/2]

template<class Dim, int n>

ExecStatus Gecode::Int::NoOverlap::ManBox< Dim, n >::nooverlap | ( | Space & | home,
|  | ManBox< Dim, n > & | b )

inline

Propagate that this box does not overlap with b.

Definition at line 100 of file box.hpp.

## update()

template<class Dim, int n>

void Gecode::Int::NoOverlap::ManBox< Dim, n >::update | ( | Space & | home,
|  | ManBox< Dim, n > & | r )

inline

Update box during cloning.

Definition at line 120 of file box.hpp.

## subscribe()

template<class Dim, int n>

void Gecode::Int::NoOverlap::ManBox< Dim, n >::subscribe | ( | Space & | home,
|  | Propagator & | p )

inline

Subscribe propagator p to box.

Definition at line 127 of file box.hpp.

## cancel()

template<class Dim, int n>

void Gecode::Int::NoOverlap::ManBox< Dim, n >::cancel | ( | Space & | home,
|  | Propagator & | p )

inline

Cancel propagator p from box.

Definition at line 133 of file box.hpp.

## reschedule()

template<class Dim, int n>

void Gecode::Int::NoOverlap::ManBox< Dim, n >::reschedule | ( | Space & | home,
|  | Propagator & | p )

inline

Schedule propagator p.

Definition at line 139 of file box.hpp.

## Member Data Documentation

## d

template<class Dim, int n>

Dim Gecode::Int::NoOverlap::ManBox< Dim, n >::d[n]

protected

Dimensions.

Definition at line 149 of file no-overlap.hh.

The documentation for this class was generated from the following files:

- gecode/int/no-overlap.hh
- gecode/int/no-overlap/box.hpp