Gecode::Int::Bool::NaryEqv Class Reference
Other available functionality » Integer propagators

Boolean n-ary equivalence propagator. More...

`#include <bool.hh>`

## Public Member Functions

virtual Actor * | copy (Space &home)
| Copy propagator during cloning.
virtual PropCost | cost (const Space &home, const ModEventDelta &med) const
| Cost function (defined as low binary).
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med)
| Perform propagation.
virtual size_t | dispose (Space &home)
| Delete propagator and return its size.
Public Member Functions inherited from Gecode::BinaryPropagator< BoolView, PC_BOOL_VAL >
virtual void | reschedule (Space &home)
| Schedule 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.
virtual | ~Actor (void)
| To avoid warnings.

## Static Public Member Functions

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

void | resubscribe (Space &home, BoolView &x0)
| Update subscription.
| NaryEqv (Home home, ViewArray< BoolView > &x, int pm2)
| Constructor for posting.
| NaryEqv (Space &home, NaryEqv &p)
| Constructor for cloning p.
Protected Member Functions inherited from Gecode::BinaryPropagator< BoolView, PC_BOOL_VAL >
| BinaryPropagator (Space &home, BinaryPropagator &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

ViewArray< BoolView > | x
| Views not yet subscribed to.
int | pm2
| Parity information mod 2.
Protected Attributes inherited from Gecode::BinaryPropagator< BoolView, PC_BOOL_VAL >
BoolView | x0
| Two views.
BoolView | x1

## Detailed Description

Boolean n-ary equivalence propagator.

Enforces that the parity of the views is odd.

Requires

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

Definition at line 453 of file bool.hh.

## Constructor & Destructor Documentation

## NaryEqv() [1/2]

Gecode::Int::Bool::NaryEqv::NaryEqv | ( | Home | home,
|  | ViewArray< BoolView > & | x,
|  | int | pm2 )

inline protected

Constructor for posting.

Definition at line 158 of file eqv.hpp.

## NaryEqv() [2/2]

Gecode::Int::Bool::NaryEqv::NaryEqv | ( | Space & | home,
|  | NaryEqv & | p )

inline protected

Constructor for cloning p.

Definition at line 166 of file eqv.hpp.

## Member Function Documentation

## resubscribe()

void Gecode::Int::Bool::NaryEqv::resubscribe | ( | Space & | home,
|  | BoolView & | x0 )

inline protected

Update subscription.

Definition at line 178 of file eqv.hpp.

## copy()

Actor * Gecode::Int::Bool::NaryEqv::copy | ( | Space & | home | ) |

virtual

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 49 of file eqv.cpp.

## cost()

PropCost Gecode::Int::Bool::NaryEqv::cost | ( | const Space & | home,
|  | const ModEventDelta & | med ) const

virtual

Cost function (defined as low binary).

Reimplemented from Gecode::BinaryPropagator< BoolView, PC_BOOL_VAL >.

Definition at line 44 of file eqv.cpp.

## propagate()

ExecStatus Gecode::Int::Bool::NaryEqv::propagate | ( | Space & | home,
|  | const ModEventDelta & | med )

virtual

Perform propagation.

Implements Gecode::Propagator.

Definition at line 81 of file eqv.cpp.

## post()

ExecStatus Gecode::Int::Bool::NaryEqv::post | ( | Home | home,
|  | ViewArray< BoolView > & | x,
|  | int | pm2 )

static

Post propagator .

Definition at line 54 of file eqv.cpp.

## dispose()

size_t Gecode::Int::Bool::NaryEqv::dispose | ( | Space & | home | ) |

inline virtual

Delete propagator and return its size.

Reimplemented from Gecode::BinaryPropagator< BoolView, PC_BOOL_VAL >.

Definition at line 172 of file eqv.hpp.

## Member Data Documentation

## x

ViewArray<BoolView> Gecode::Int::Bool::NaryEqv::x

protected

Views not yet subscribed to.

Definition at line 458 of file bool.hh.

## pm2

int Gecode::Int::Bool::NaryEqv::pm2

protected

Parity information mod 2.

Definition at line 460 of file bool.hh.

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

- gecode/int/bool.hh
- gecode/int/bool/eqv.cpp
- gecode/int/bool/eqv.hpp