Generated on Fri Oct 19 11:26:22 2018 for Gecode by doxygen 1.6.3

Gecode::Set::Element::ElementIntersection< View, View0, View1 > Class Template Reference
[Set propagators]

Propagator for element with intersection More...

#include <element.hh>

List of all members.

Public Types

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

Public Member Functions

virtual Actorcopy (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.

Static Public Member Functions

static ExecStatus post (Home home, IdxViewArray &x, View0 y, View1 z, const IntSet &u)

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 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

Definition at line 78 of file element.hh.


Member Typedef Documentation

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

template<class View , class View0 , class View1 >
Gecode::Set::Element::ElementIntersection< View, View0, View1 >::ElementIntersection ( Space home,
ElementIntersection< View, View0, View1 > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 53 of file inter.hpp.

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 41 of file inter.hpp.


Member Function Documentation

template<class View , class View0 , class View1 >
Actor * Gecode::Set::Element::ElementIntersection< View, View0, View1 >::copy ( Space home  )  [inline, virtual]

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 106 of file inter.hpp.

template<class View , class View0 , class View1 >
PropCost Gecode::Set::Element::ElementIntersection< View, View0, View1 >::cost ( const Space home,
const ModEventDelta med 
) const [inline, virtual]

Cost function.

Implements Gecode::Propagator.

Definition at line 62 of file inter.hpp.

template<class View , class View0 , class View1 >
void Gecode::Set::Element::ElementIntersection< View, View0, View1 >::reschedule ( Space home  )  [inline, virtual]

Schedule function.

Implements Gecode::Propagator.

Definition at line 69 of file inter.hpp.

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.

template<class View , class View0 , class View1 >
ExecStatus Gecode::Set::Element::ElementIntersection< View, View0, View1 >::propagate ( Space home,
const ModEventDelta med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 112 of file inter.hpp.

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 
) [inline, static]

Post propagator for $ z=\bigcap\langle x_0,\dots,x_{n-1}\rangle[y] $ 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 92 of file inter.hpp.


Member Data Documentation

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.

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.

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.

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: