Generated on Thu Mar 22 10:40:00 2012 for Gecode by doxygen 1.6.3

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

Propagator for element with union More...

#include <element.hh>

List of all members.

Public Types

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

Public Member Functions

virtual Actorcopy (Space &home, bool)
 Copy propagator during cloning.
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost 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)

Protected Member Functions

 ElementUnion (Space &home, bool share, ElementUnion &p)
 Constructor for cloning p.
 ElementUnion (Home home, IdxViewArray &, View0, View1)
 Constructor for posting.

Protected Attributes

IdxViewArray iv
View0 x0
View1 x1

Detailed Description

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

Propagator for element with union

Requires

Definition at line 116 of file element.hh.


Member Typedef Documentation

template<class View, class View0, class View1>
typedef Gecode::Int::Element::IdxViewArray<View> Gecode::Set::Element::ElementUnion< View, View0, View1 >::IdxViewArray

Definition at line 118 of file element.hh.


Constructor & Destructor Documentation

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

Constructor for cloning p.

Definition at line 56 of file union.hpp.

template<class View , class View0 , class View1 >
Gecode::Set::Element::ElementUnion< View, View0, View1 >::ElementUnion ( Home  home,
IdxViewArray iv0,
View0  y0,
View1  y1 
) [inline, protected]

Constructor for posting.

Definition at line 45 of file union.hpp.


Member Function Documentation

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

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 99 of file union.hpp.

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

Cost function.

Implements Gecode::Propagator.

Definition at line 65 of file union.hpp.

template<class View , class View0 , class View1 >
size_t Gecode::Set::Element::ElementUnion< View, View0, View1 >::dispose ( Space home  )  [inline, virtual]

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 72 of file union.hpp.

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

Perform propagation.

Implements Gecode::Propagator.

Definition at line 105 of file union.hpp.

template<class View , class View0 , class View1 >
ExecStatus Gecode::Set::Element::ElementUnion< View, View0, View1 >::post ( Home  home,
IdxViewArray x,
View0  y,
View1  z 
) [inline, static]

Post propagator for $ z=\bigcup\langle x_0,\dots,x_{n-1}\rangle[y] $

If y is empty, z will be constrained to be empty (as an empty union is the empty set).

Definition at line 86 of file union.hpp.


Member Data Documentation

template<class View, class View0, class View1>
IdxViewArray Gecode::Set::Element::ElementUnion< View, View0, View1 >::iv [protected]

Definition at line 120 of file element.hh.

template<class View, class View0, class View1>
View0 Gecode::Set::Element::ElementUnion< View, View0, View1 >::x0 [protected]

Definition at line 121 of file element.hh.

template<class View, class View0, class View1>
View1 Gecode::Set::Element::ElementUnion< View, View0, View1 >::x1 [protected]

Definition at line 122 of file element.hh.


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