Gecode::Set::Element::ElementIntersection< View, View0, View1 > Class Template Reference
Other available functionality » Set propagators

Propagator for element with intersection More...

`#include <element.hh>`

## Public Types

typedef Gecode::Int::IdxViewArray< View > | IdxViewArray

## 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 size_t | dispose (Space &home)
| Delete propagator and return its size.
virtual ExecStatus | propagate (Space &home, const ModEventDelta &med)
| Perform propagation.
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, IdxViewArray &x, View0 y, View1 z, const IntSet &u)
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

| ElementIntersection (Space &home, ElementIntersection &p)
| Constructor for cloning p.
| ElementIntersection (Home home, IdxViewArray &, View0, View1, const IntSet &universe)
| Constructor for posting.
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

IntSet | universe
IdxViewArray | iv
View0 | x0
View1 | x1

## Detailed Description

template<class View, class View0, class View1>
class Gecode::Set::Element::ElementIntersection< View, View0, View1 >

Propagator for element with intersection

Requires

#include <gecode/set/element.hh>
element.hh

Definition at line 78 of file element.hh.

## Member Typedef Documentation

## IdxViewArray

template<class View, class View0, class View1>

typedef Gecode::Int::IdxViewArray<View> Gecode::Set::Element::ElementIntersection< View, View0, View1 >::IdxViewArray

Definition at line 80 of file element.hh.

## Constructor & Destructor Documentation

## ElementIntersection() [1/2]

template<class View, class View0, class View1>

Gecode::Set::Element::ElementIntersection< View, View0, View1 >::ElementIntersection | ( | Space & | home,
|  | ElementIntersection< View, View0, View1 > & | p )

protected

Constructor for cloning p.

## ElementIntersection() [2/2]

template<class View, class View0, class View1>

Gecode::Set::Element::ElementIntersection< View, View0, View1 >::ElementIntersection | ( | Home | home,
|  | IdxViewArray & | iv0,
|  | View0 | y0,
|  | View1 | y1,
|  | const IntSet & | universe )

inline protected

Constructor for posting.

Definition at line 40 of file inter.hpp.

## Member Function Documentation

## copy()

template<class View, class View0, class View1>

Actor * Gecode::Set::Element::ElementIntersection< View, View0, View1 >::copy | ( | Space & | home | ) |

virtual

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 106 of file inter.hpp.

## cost()

template<class View, class View0, class View1>

PropCost Gecode::Set::Element::ElementIntersection< View, View0, View1 >::cost | ( | const Space & | home,
|  | const ModEventDelta & | med ) const

virtual

Cost function.

Implements Gecode::Propagator.

Definition at line 62 of file inter.hpp.

## reschedule()

template<class View, class View0, class View1>

void Gecode::Set::Element::ElementIntersection< View, View0, View1 >::reschedule | ( | Space & | home | ) |

virtual

Schedule function.

Implements Gecode::Propagator.

Definition at line 69 of file inter.hpp.

## dispose()

template<class View, class View0, class View1>

size_t Gecode::Set::Element::ElementIntersection< View, View0, View1 >::dispose | ( | Space & | home | ) |

inline virtual

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 77 of file inter.hpp.

## propagate()

template<class View, class View0, class View1>

ExecStatus Gecode::Set::Element::ElementIntersection< View, View0, View1 >::propagate | ( | Space & | home,
|  | const ModEventDelta & | med )

virtual

Perform propagation.

Implements Gecode::Propagator.

Definition at line 112 of file inter.hpp.

## post()

template<class View, class View0, class View1>

ExecStatus Gecode::Set::Element::ElementIntersection< View, View0, View1 >::post | ( | Home | home,
|  | IdxViewArray & | x,
|  | View0 | y,
|  | View1 | z,
|  | const IntSet & | u )

static

Post propagator for using u as universe

If y is empty, z will be constrained to be the given universe u (as an empty intersection is the universe).

Definition at line 91 of file inter.hpp.

## Member Data Documentation

## universe

template<class View, class View0, class View1>

IntSet Gecode::Set::Element::ElementIntersection< View, View0, View1 >::universe

protected

Definition at line 82 of file element.hh.

## iv

template<class View, class View0, class View1>

IdxViewArray Gecode::Set::Element::ElementIntersection< View, View0, View1 >::iv

protected

Definition at line 83 of file element.hh.

## x0

template<class View, class View0, class View1>

View0 Gecode::Set::Element::ElementIntersection< View, View0, View1 >::x0

protected

Definition at line 84 of file element.hh.

## x1

template<class View, class View0, class View1>

View1 Gecode::Set::Element::ElementIntersection< View, View0, View1 >::x1

protected

Definition at line 85 of file element.hh.

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

- gecode/set/element.hh
- gecode/set/element/inter.hpp