Gecode::Int::NoOverlap::Base< Box > Class Template Reference
Other available functionality » Integer propagators

Base class for no-overlap propagator. More...

`#include <no-overlap.hh>`

## Public Member Functions

virtual PropCost | cost (const Space &home, const ModEventDelta &med) const
| Cost function.
virtual void | reschedule (Space &home)
| Schedule function.
virtual size_t | dispose (Space &home)
| Destructor.
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med)=0
| Propagation function.
ModEventDelta | modeventdelta (void) const
| Return the modification event delta.
virtual ExecStatus | advise (Space &home, Advisor &a, const Delta &d)
| Advise function.
virtual void | advise (Space &home, Advisor &a)
| Run advisor a to be run on failure in failed space.
double | afc (void) const
| Return the accumlated failure count.
unsigned int | id (void) const
| Return propagator id.
PropagatorGroup | group (void) const
| Return group propagator belongs to.
void | group (PropagatorGroup g)
| Add propagator to group g.
bool | disabled (void) const
| Whether propagator is currently disabled.
Public Member Functions inherited from Gecode::Actor
virtual Actor * | copy (Space &home)=0
| Create copy.
virtual | ~Actor (void)
| To avoid warnings.

## Protected Member Functions

| Base (Home home, Box *b, int n)
| Constructor for posting with n mandatory boxes.
| Base (Space &home, Base< Box > &p, int m)
| Constructor for cloning p with m boxes.
Protected Member Functions inherited from Gecode::Propagator
| Propagator (Home home)
| Constructor for posting.
| Propagator (Space &home, Propagator &p)
| Constructor for cloning p.
Propagator * | fwd (void) const
| Return forwarding pointer during copying.
Kernel::GPI::Info & | gpi (void)
| Provide access to global propagator information.

## Static Protected Member Functions

static int | partition (Box *b, int i, int n)
| Partition n boxes b starting at position i.

## Protected Attributes

Box * | b
| Boxes.
int | n
| Number of mandatory boxes: b[0] ... b[n-1].

## Additional Inherited Members

static void * | operator new (size_t s, Space &home)
| Allocate memory from space.
static void | operator delete (void *p, Space &home)
| No-op for exceptions.
static void * | operator new (size_t s)
| Not used.
static void | operator delete (void *p)
| Not used.

## Detailed Description

template<class Box>
class Gecode::Int::NoOverlap::Base< Box >

Base class for no-overlap propagator.

Requires

#include <gecode/int/no-overlap.hh>
no-overlap.hh

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

## Constructor & Destructor Documentation

## Base() [1/2]

template<class Box>

Gecode::Int::NoOverlap::Base< Box >::Base | ( | Home | home,
|  | Box * | b,
|  | int | n )

inline protected

Constructor for posting with n mandatory boxes.

Definition at line 38 of file base.hpp.

## Base() [2/2]

template<class Box>

Gecode::Int::NoOverlap::Base< Box >::Base | ( | Space & | home,
|  | Base< Box > & | p,
|  | int | m )

inline protected

Constructor for cloning p with m boxes.

Definition at line 69 of file base.hpp.

## Member Function Documentation

## partition()

template<class Box>

int Gecode::Int::NoOverlap::Base< Box >::partition | ( | Box * | b,
|  | int | i,
|  | int | n )

inline static protected

Partition n boxes b starting at position i.

Returns the number of mandatory boxes at the front of b.

Definition at line 46 of file base.hpp.

## cost()

template<class Box>

PropCost Gecode::Int::NoOverlap::Base< Box >::cost | ( | const Space & | home,
|  | const ModEventDelta & | med ) const

virtual

Cost function.

Implements Gecode::Propagator.

Definition at line 77 of file base.hpp.

## reschedule()

template<class Box>

void Gecode::Int::NoOverlap::Base< Box >::reschedule | ( | Space & | home | ) |

virtual

Schedule function.

Implements Gecode::Propagator.

Definition at line 83 of file base.hpp.

## dispose()

template<class Box>

size_t Gecode::Int::NoOverlap::Base< Box >::dispose | ( | Space & | home | ) |

inline virtual

Destructor.

Reimplemented from Gecode::Actor.

Reimplemented in Gecode::Int::NoOverlap::ManProp< Box >, and Gecode::Int::NoOverlap::OptProp< Box >.

Definition at line 59 of file base.hpp.

## Member Data Documentation

## b

template<class Box>

Box* Gecode::Int::NoOverlap::Base< Box >::b

protected

Boxes.

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

## n

template<class Box>

int Gecode::Int::NoOverlap::Base< Box >::n

protected

Number of mandatory boxes: b[0] ... b[n-1].

Definition at line 239 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/base.hpp