Gecode::Int::Count::ViewBase< VX, VY, VZ > Class Template Reference

Base-class for count propagators (view). More...

`#include <count.hh>`

## Public Member Functions

virtual size_t | dispose (Space &home)
| Delete propagator and return its size.
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const
| Cost function (defined as low linear).
virtual void | reschedule (Space &home)
| Schedule function.
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

| ViewBase (Space &home, ViewBase &p)
| Constructor for cloning p.
| ViewBase (Home home, ViewArray< VX > &x, VY y, VZ z, int c)
| Constructor for creation.
void | count (Space &home)
| Count how many views are equal now.
int | atleast (void) const
| How many views are at least equal.
int | atmost (void) const
| How many views are at most equal.
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 bool | sharing (const ViewArray< VX > &x, const VY &y, const VZ &z)
| Test whether there is sharing of z with x or y.

## Protected Attributes

ViewArray< VX > | x
| Views still to count.
VY | y
| View to compare to.
VZ | z
| View which yields result of counting.
int | c
| Number of views which are equal and have been eliminated.

## 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 VX, class VY, class VZ>
class Gecode::Int::Count::ViewBase< VX, VY, VZ >

Base-class for count propagators (view).

Definition at line 266 of file count.hh.

## Constructor & Destructor Documentation

## ViewBase() [1/2]

template<class VX, class VY, class VZ>

Gecode::Int::Count::ViewBase< VX, VY, VZ >::ViewBase | ( | Space & | home,
|  | ViewBase< VX, VY, VZ > & | p )

inline protected

Constructor for cloning p.

Definition at line 50 of file view-base.hpp.

## ViewBase() [2/2]

template<class VX, class VY, class VZ>

Gecode::Int::Count::ViewBase< VX, VY, VZ >::ViewBase | ( | Home | home,
|  | ViewArray< VX > & | x,
|  | VY | y,
|  | VZ | z,
|  | int | c )

inline protected

Constructor for creation.

Definition at line 38 of file view-base.hpp.

## Member Function Documentation

## dispose()

template<class VX, class VY, class VZ>

size_t Gecode::Int::Count::ViewBase< VX, VY, VZ >::dispose | ( | Space & | home | ) |

inline virtual

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 73 of file view-base.hpp.

## cost()

template<class VX, class VY, class VZ>

PropCost Gecode::Int::Count::ViewBase< VX, VY, VZ >::cost | ( | const Space & | home,
|  | const ModEventDelta & | med ) const

virtual

Cost function (defined as low linear).

Implements Gecode::Propagator.

Definition at line 59 of file view-base.hpp.

## reschedule()

template<class VX, class VY, class VZ>

void Gecode::Int::Count::ViewBase< VX, VY, VZ >::reschedule | ( | Space & | home | ) |

virtual

Schedule function.

Implements Gecode::Propagator.

Definition at line 65 of file view-base.hpp.

## count()

template<class VX, class VY, class VZ>

void Gecode::Int::Count::ViewBase< VX, VY, VZ >::count | ( | Space & | home | ) |

inline protected

Count how many views are equal now.

Definition at line 85 of file view-base.hpp.

## atleast()

template<class VX, class VY, class VZ>

int Gecode::Int::Count::ViewBase< VX, VY, VZ >::atleast | ( | void |  | ) | const

inline protected

How many views are at least equal.

Definition at line 106 of file view-base.hpp.

## atmost()

template<class VX, class VY, class VZ>

int Gecode::Int::Count::ViewBase< VX, VY, VZ >::atmost | ( | void |  | ) | const

inline protected

How many views are at most equal.

Definition at line 112 of file view-base.hpp.

## sharing()

template<class VX, class VY, class VZ>

bool Gecode::Int::Count::ViewBase< VX, VY, VZ >::sharing | ( | const ViewArray< VX > & | x,
|  | const VY & | y,
|  | const VZ & | z )

inline static protected

Test whether there is sharing of z with x or y.

Definition at line 123 of file view-base.hpp.

## Member Data Documentation

## x

template<class VX, class VY, class VZ>

ViewArray<VX> Gecode::Int::Count::ViewBase< VX, VY, VZ >::x

protected

Views still to count.

Definition at line 269 of file count.hh.

## y

template<class VX, class VY, class VZ>

VY Gecode::Int::Count::ViewBase< VX, VY, VZ >::y

protected

View to compare to.

Definition at line 271 of file count.hh.

## z

template<class VX, class VY, class VZ>

VZ Gecode::Int::Count::ViewBase< VX, VY, VZ >::z

protected

View which yields result of counting.

Definition at line 273 of file count.hh.

## c

template<class VX, class VY, class VZ>

int Gecode::Int::Count::ViewBase< VX, VY, VZ >::c

protected

Number of views which are equal and have been eliminated.

Definition at line 275 of file count.hh.

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

- gecode/int/count.hh
- gecode/int/count/view-base.hpp