Generated on Mon Aug 25 11:35:53 2008 for Gecode by doxygen 1.5.6

Gecode::Set::Element::ElementIntersection< SView, RView > Class Template Reference
[Set propagators]

#include <element.hh>

Inherits Gecode::Propagator.

List of all members.


Detailed Description

template<class SView, class RView>
class Gecode::Set::Element::ElementIntersection< SView, RView >

Propagator for element with intersection

Requires

Definition at line 63 of file element.hh.


Public Member Functions

virtual Actorcopy (Space *home, bool)
 Copy propagator during cloning.
virtual PropCost cost (ModEventDelta med) const
 Cost function.
virtual size_t dispose (Space *home)
 Delete propagator and return its size.
virtual ExecStatus propagate (Space *home, ModEventDelta med)
 Perform propagation.
virtual Reflection::ActorSpec spec (const Space *home, Reflection::VarMap &m) const
 Specification for this propagator.

Static Public Member Functions

static void post (Space *home, Reflection::VarMap &vars, const Reflection::ActorSpec &spec)
 Post using specification.
static Support::Symbol ati (void)
 Name of this propagator.
static ExecStatus post (Space *home, SView z, IdxViewArray< SView > &x, RView y, const IntSet &u)

Protected Member Functions

 ElementIntersection (Space *home, bool share, ElementIntersection &p)
 Constructor for cloning p.
 ElementIntersection (Space *home, SView, IdxViewArray< SView > &, RView, const IntSet &universe)
 Constructor for posting.

Protected Attributes

IntSet universe
SView x0
IdxViewArray< SView > iv
RView x1

Constructor & Destructor Documentation

template<class SView, class RView>
Gecode::Set::Element::ElementIntersection< SView, RView >::ElementIntersection ( Space home,
bool  share,
ElementIntersection< SView, RView > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 59 of file inter.icc.

template<class SView, class RView>
Gecode::Set::Element::ElementIntersection< SView, RView >::ElementIntersection ( Space home,
SView  y0,
IdxViewArray< SView > &  iv0,
RView  y1,
const IntSet universe 
) [inline, protected]

Constructor for posting.

Definition at line 45 of file inter.icc.


Member Function Documentation

template<class SView, class RView>
Actor * Gecode::Set::Element::ElementIntersection< SView, RView >::copy ( Space home,
bool  share 
) [inline, virtual]

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 145 of file inter.icc.

template<class SView, class RView>
PropCost Gecode::Set::Element::ElementIntersection< SView, RView >::cost ( ModEventDelta  med  )  const [inline, virtual]

Cost function.

Implements Gecode::Propagator.

Definition at line 70 of file inter.icc.

template<class SView, class RView>
size_t Gecode::Set::Element::ElementIntersection< SView, RView >::dispose ( Space home  )  [inline, virtual]

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 116 of file inter.icc.

template<class SView, class RView>
ExecStatus Gecode::Set::Element::ElementIntersection< SView, RView >::propagate ( Space home,
ModEventDelta  med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 151 of file inter.icc.

template<class SView, class RView>
Reflection::ActorSpec Gecode::Set::Element::ElementIntersection< SView, RView >::spec ( const Space home,
Reflection::VarMap m 
) const [inline, virtual]

Specification for this propagator.

Reimplemented from Gecode::Actor.

Definition at line 82 of file inter.icc.

template<class SView, class RView>
void Gecode::Set::Element::ElementIntersection< SView, RView >::post ( Space home,
Reflection::VarMap vars,
const Reflection::ActorSpec spec 
) [inline, static]

Post using specification.

Definition at line 102 of file inter.icc.

template<class SView, class RView>
Support::Symbol Gecode::Set::Element::ElementIntersection< SView, RView >::ati ( void   )  [inline, static]

Name of this propagator.

Definition at line 76 of file inter.icc.

template<class SView, class RView>
ExecStatus Gecode::Set::Element::ElementIntersection< SView, RView >::post ( Space home,
SView  z,
IdxViewArray< SView > &  x,
RView  y,
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 131 of file inter.icc.


Member Data Documentation

template<class SView, class RView>
IntSet Gecode::Set::Element::ElementIntersection< SView, RView >::universe [protected]

Definition at line 66 of file element.hh.

template<class SView, class RView>
SView Gecode::Set::Element::ElementIntersection< SView, RView >::x0 [protected]

Definition at line 67 of file element.hh.

template<class SView, class RView>
IdxViewArray<SView> Gecode::Set::Element::ElementIntersection< SView, RView >::iv [protected]

Definition at line 68 of file element.hh.

template<class SView, class RView>
RView Gecode::Set::Element::ElementIntersection< SView, RView >::x1 [protected]

Definition at line 69 of file element.hh.


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