Gecode::Int::NValues::IntBase< VY > Class Template Reference
Other available functionality » Integer propagators

Number of values propagator for integer views base class. More...

`#include <nvalues.hh>`

## Public Member Functions

virtual PropCost | cost (const Space &, const ModEventDelta &) const
| Cost function.
virtual size_t | dispose (Space &home)
| Delete propagator and return its size.
Public Member Functions inherited from Gecode::MixNaryOnePropagator< IntView, PC_INT_DOM, VY, PC_INT_BND >
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

| IntBase (Home home, ValSet &vs, ViewArray< IntView > &x, VY y)
| Constructor for posting.
| IntBase (Space &home, IntBase< VY > &p)
| Constructor for cloning p.
void | add (Space &home)
| Add values of assigned views to value set.
void | disjoint (Space &home, Region &r, int *&dis, int &n_dis)
void | eliminate (Space &home)
| Eliminate subsumed views (all values included in the value set vs).
ExecStatus | all_in_valset (Space &home)
| Propagate that all views must take values from value set.
ExecStatus | prune_lower (Space &home, int *dis, int n_dis)
ExecStatus | prune_upper (Space &home, Graph &g)
Protected Member Functions inherited from Gecode::MixNaryOnePropagator< IntView, PC_INT_DOM, VY, PC_INT_BND >
| MixNaryOnePropagator (Space &home, MixNaryOnePropagator &p)
| Constructor for cloning p.
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.

## Protected Attributes

ValSet | vs
| Value set storing the values of already assigned views.
Protected Attributes inherited from Gecode::MixNaryOnePropagator< IntView, PC_INT_DOM, VY, PC_INT_BND >
ViewArray< IntView > | x
| Array of views.
VY | y
| Single view.

## 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 VY>
class Gecode::Int::NValues::IntBase< VY >

Number of values propagator for integer views base class.

Requires

#include <gecode/int/nvalues.hh>
nvalues.hh

Definition at line 132 of file nvalues.hh.

## Constructor & Destructor Documentation

## IntBase() [1/2]

template<class VY>

Gecode::Int::NValues::IntBase< VY >::IntBase | ( | Home | home,
|  | ValSet & | vs,
|  | ViewArray< IntView > & | x,
|  | VY | y )

inline protected

Constructor for posting.

Definition at line 40 of file int-base.hpp.

## IntBase() [2/2]

template<class VY>

Gecode::Int::NValues::IntBase< VY >::IntBase | ( | Space & | home,
|  | IntBase< VY > & | p )

inline protected

Constructor for cloning p.

Definition at line 46 of file int-base.hpp.

## Member Function Documentation

## add()

template<class VY>

void Gecode::Int::NValues::IntBase< VY >::add | ( | Space & | home | ) |

protected

Add values of assigned views to value set.

Definition at line 68 of file int-base.hpp.

## disjoint()

template<class VY>

void Gecode::Int::NValues::IntBase< VY >::disjoint | ( | Space & | home,
|  | Region & | r,
|  | int *& | dis,
|  | int & | n_dis )

protected

Compute position of disjoint views in dis (with length n_dis) and eliminate subsumed views (all values included in the value set vs).

Definition at line 80 of file int-base.hpp.

## eliminate()

template<class VY>

void Gecode::Int::NValues::IntBase< VY >::eliminate | ( | Space & | home | ) |

protected

Eliminate subsumed views (all values included in the value set vs).

Definition at line 107 of file int-base.hpp.

## all_in_valset()

template<class VY>

ExecStatus Gecode::Int::NValues::IntBase< VY >::all_in_valset | ( | Space & | home | ) |

protected

Propagate that all views must take values from value set.

Definition at line 120 of file int-base.hpp.

## prune_lower()

template<class VY>

ExecStatus Gecode::Int::NValues::IntBase< VY >::prune_lower | ( | Space & | home,
|  | int * | dis,
|  | int | n_dis )

protected

Perform pruning of the lower bound based on finding an independent set, where dis and n_dis define the set of disjoint views (not overlapping with the values in the value set).

Changes dis.

Definition at line 130 of file int-base.hpp.

## prune_upper()

template<class VY>

ExecStatus Gecode::Int::NValues::IntBase< VY >::prune_upper | ( | Space & | home,
|  | Graph & | g )

inline protected

Perform pruning of the upper bound based on finding a maximal matching in the view value graph g.

Requires that subsumed views have been eliminated.

Definition at line 298 of file int-base.hpp.

## cost()

template<class VY>

PropCost Gecode::Int::NValues::IntBase< VY >::cost | ( | const Space & | ,
|  | const ModEventDelta & | ) const

virtual

Cost function.

Reimplemented from Gecode::MixNaryOnePropagator< IntView, PC_INT_DOM, VY, PC_INT_BND >.

Definition at line 62 of file int-base.hpp.

## dispose()

template<class VY>

size_t Gecode::Int::NValues::IntBase< VY >::dispose | ( | Space & | home | ) |

inline virtual

Delete propagator and return its size.

Reimplemented from Gecode::MixNaryOnePropagator< IntView, PC_INT_DOM, VY, PC_INT_BND >.

Reimplemented in Gecode::Int::NValues::EqInt< VY >, and Gecode::Int::NValues::LqInt< VY >.

Definition at line 53 of file int-base.hpp.

## Member Data Documentation

## vs

template<class VY>

ValSet Gecode::Int::NValues::IntBase< VY >::vs

protected

Value set storing the values of already assigned views.

Definition at line 138 of file nvalues.hh.

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

- gecode/int/nvalues.hh
- gecode/int/nvalues/int-base.hpp