Gecode::Int::Rel::NaryLqLe< View, o > Class Template Reference
Other available functionality » Integer propagators

n-ary less and less or equal propagator More...

`#include <rel.hh>`

## Classes

class | Index
| Advisors for views (by position in array) More...
class | Pos
| Positions in view array that have to be propagated. More...

## Public Member Functions

virtual Actor * | copy (Space &home)
| Copy propagator during cloning.
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const
| Cost function.
virtual void | reschedule (Space &home)
| Schedule function.
virtual ExecStatus | advise (Space &home, Advisor &a, const Delta &d)
| Give advice to propagator.
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med)
| Perform propagation.
virtual size_t | dispose (Space &home)
| Delete propagator and return its size.
ModEventDelta | modeventdelta (void) const
| Return the modification event delta.
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.
virtual | ~Actor (void)
| To avoid warnings.

## Static Public Member Functions

static ExecStatus | post (Home home, ViewArray< View > &x)
| Post propagator for .
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.

## Protected Member Functions

bool | empty (void) const
| Whether no more positions must be propagated.
int | pop (Space &home)
| Pop a position to be propagated and return it.
void | push (Space &home, int p)
| Push a new position p to be propagated.
| NaryLqLe (Space &home, NaryLqLe< View, o > &p)
| Constructor for cloning p.
| NaryLqLe (Home home, ViewArray< View > &)
| Constructor for posting.
Protected Member Functions inherited from Gecode::NaryPropagator< View, PC_INT_NONE >
| NaryPropagator (Space &home, NaryPropagator &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

Council< Index > | c
| The advisor council.
Pos * | pos
| Stack of positions.
bool | run
| Whether the propagator is currently running.
int | n_subsumed
| Number of already subsumed advisors (or views).
Protected Attributes inherited from Gecode::NaryPropagator< View, PC_INT_NONE >
ViewArray< View > | x
| Array of views.

## Static Protected Attributes

static const int | n_threshold = 7
| Compact during cloning when more advisors than that are subsumed.

## Detailed Description

template<class View, int o>
class Gecode::Int::Rel::NaryLqLe< View, o >

n-ary less and less or equal propagator

If o is 0, less or equal is propagated, if o is 1 less is propagated.

Requires

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

Definition at line 230 of file rel.hh.

## Constructor & Destructor Documentation

## NaryLqLe() [1/2]

template<class View, int o>

Gecode::Int::Rel::NaryLqLe< View, o >::NaryLqLe | ( | Space & | home,
|  | NaryLqLe< View, o > & | p )

inline protected

Constructor for cloning p.

Definition at line 282 of file lq-le.hpp.

## NaryLqLe() [2/2]

template<class View, int o>

Gecode::Int::Rel::NaryLqLe< View, o >::NaryLqLe | ( | Home | home,
|  | ViewArray< View > & | x )

inline protected

Constructor for posting.

Definition at line 199 of file lq-le.hpp.

## Member Function Documentation

## empty()

template<class View, int o>

bool Gecode::Int::Rel::NaryLqLe< View, o >::empty | ( | void |  | ) | const

inline protected

Whether no more positions must be propagated.

Definition at line 176 of file lq-le.hpp.

## pop()

template<class View, int o>

int Gecode::Int::Rel::NaryLqLe< View, o >::pop | ( | Space & | home | ) |

inline protected

Pop a position to be propagated and return it.

Definition at line 189 of file lq-le.hpp.

## push()

template<class View, int o>

void Gecode::Int::Rel::NaryLqLe< View, o >::push | ( | Space & | home,
|  | int | p )

inline protected

Push a new position p to be propagated.

Definition at line 181 of file lq-le.hpp.

## copy()

template<class View, int o>

Actor * Gecode::Int::Rel::NaryLqLe< View, o >::copy | ( | Space & | home | ) |

virtual

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 291 of file lq-le.hpp.

## cost()

template<class View, int o>

PropCost Gecode::Int::Rel::NaryLqLe< View, o >::cost | ( | const Space & | home,
|  | const ModEventDelta & | med ) const

virtual

Cost function.

Reimplemented from Gecode::NaryPropagator< View, PC_INT_NONE >.

Definition at line 317 of file lq-le.hpp.

## reschedule()

template<class View, int o>

void Gecode::Int::Rel::NaryLqLe< View, o >::reschedule | ( | Space & | home | ) |

virtual

Schedule function.

Reimplemented from Gecode::NaryPropagator< View, PC_INT_NONE >.

Definition at line 368 of file lq-le.hpp.

## advise()

template<class View, int o>

ExecStatus Gecode::Int::Rel::NaryLqLe< View, o >::advise | ( | Space & | home,
|  | Advisor & | a,
|  | const Delta & | d )

virtual

Give advice to propagator.

Reimplemented from Gecode::Propagator.

Definition at line 336 of file lq-le.hpp.

## propagate()

template<class View, int o>

ExecStatus Gecode::Int::Rel::NaryLqLe< View, o >::propagate | ( | Space & | home,
|  | const ModEventDelta & | med )

virtual

Perform propagation.

Implements Gecode::Propagator.

Definition at line 374 of file lq-le.hpp.

## dispose()

template<class View, int o>

size_t Gecode::Int::Rel::NaryLqLe< View, o >::dispose | ( | Space & | home | ) |

inline virtual

Delete propagator and return its size.

Reimplemented from Gecode::NaryPropagator< View, PC_INT_NONE >.

Definition at line 323 of file lq-le.hpp.

## post()

template<class View, int o>

ExecStatus Gecode::Int::Rel::NaryLqLe< View, o >::post | ( | Home | home,
|  | ViewArray< View > & | x )

static

Post propagator for .

Definition at line 208 of file lq-le.hpp.

## Member Data Documentation

## c

template<class View, int o>

Council<Index> Gecode::Int::Rel::NaryLqLe< View, o >::c

protected

The advisor council.

Definition at line 244 of file rel.hh.

## pos

template<class View, int o>

Pos* Gecode::Int::Rel::NaryLqLe< View, o >::pos

protected

Stack of positions.

Definition at line 277 of file rel.hh.

## run

template<class View, int o>

bool Gecode::Int::Rel::NaryLqLe< View, o >::run

protected

Whether the propagator is currently running.

Definition at line 285 of file rel.hh.

## n_subsumed

template<class View, int o>

int Gecode::Int::Rel::NaryLqLe< View, o >::n_subsumed

protected

Number of already subsumed advisors (or views).

Definition at line 287 of file rel.hh.

## n_threshold

template<class View, int o>

const int Gecode::Int::Rel::NaryLqLe< View, o >::n_threshold = 7

static protected

Compact during cloning when more advisors than that are subsumed.

Definition at line 289 of file rel.hh.

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

- gecode/int/rel.hh
- gecode/int/rel/lq-le.hpp