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

Gecode::Set::RelOp::UnionN< View0, View1 > Class Template Reference
[Set propagators]

#include <rel-op.hh>

Inherits MixNaryOnePropagator< View0, PC_SET_ANY, View1, PC_SET_ANY >.

List of all members.


Detailed Description

template<class View0, class View1>
class Gecode::Set::RelOp::UnionN< View0, View1 >

Propagator for nary union

Requires

Definition at line 261 of file rel-op.hh.


Public Member Functions

virtual Actorcopy (Space *home, bool)
 Copy propagator during cloning.
virtual ExecStatus propagate (Space *home, ModEventDelta med)
 Perform propagation.
virtual PropCost cost (ModEventDelta med) const
 Cost function (defined as dynamic PC_LINEAR_LO).
virtual Reflection::ActorSpec spec (const Space *home, Reflection::VarMap &m) const
 Specification for this propagator.

Static Public Member Functions

static ExecStatus post (Space *home, ViewArray< View0 > &y, View1 x)
 Post propagator $ x = \bigcup_{i\in\{0,\dots,n-1\}} y_i $.
static ExecStatus post (Space *home, ViewArray< View0 > &y, const IntSet &z, View1 x)
 Post propagator $ x = z\cup\bigcup_{i\in\{0,\dots,n-1\}} y_i $.
static void post (Space *home, Reflection::VarMap &vars, const Reflection::ActorSpec &spec)
 Post using specification.
static Support::Symbol ati (void)
 Name of this propagator.

Protected Member Functions

 UnionN (Space *home, bool share, UnionN &p)
 Constructor for cloning p.
 UnionN (Space *home, ViewArray< View0 > &, View1)
 Constructor for posting.
 UnionN (Space *home, ViewArray< View0 > &, const IntSet &, View1)
 Constructor for posting.

Protected Attributes

bool shared
 Whether the any views share a variable implementation.
GLBndSet unionOfDets
 Union of the determined $x_i$ (which are dropped).

Constructor & Destructor Documentation

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

Constructor for cloning p.

Definition at line 251 of file union.icc.

template<class View0, class View1>
Gecode::Set::RelOp::UnionN< View0, View1 >::UnionN ( Space home,
ViewArray< View0 > &  x,
View1  y 
) [inline, protected]

Constructor for posting.

Definition at line 234 of file union.icc.

template<class View0, class View1>
Gecode::Set::RelOp::UnionN< View0, View1 >::UnionN ( Space home,
ViewArray< View0 > &  x,
const IntSet z,
View1  y 
) [inline, protected]

Constructor for posting.

Definition at line 241 of file union.icc.


Member Function Documentation

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

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 259 of file union.icc.

template<class View0, class View1>
ExecStatus Gecode::Set::RelOp::UnionN< View0, View1 >::propagate ( Space home,
ModEventDelta  med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 334 of file union.icc.

template<class View0, class View1>
PropCost Gecode::Set::RelOp::UnionN< View0, View1 >::cost ( ModEventDelta  med  )  const [inline, virtual]

Cost function (defined as dynamic PC_LINEAR_LO).

Reimplemented from Gecode::MixNaryOnePropagator< View0, PC_SET_ANY, View1, PC_SET_ANY >.

Definition at line 290 of file union.icc.

template<class View0, class View1>
ExecStatus Gecode::Set::RelOp::UnionN< View0, View1 >::post ( Space home,
ViewArray< View0 > &  y,
View1  x 
) [inline, static]

Post propagator $ x = \bigcup_{i\in\{0,\dots,n-1\}} y_i $.

Definition at line 265 of file union.icc.

template<class View0, class View1>
ExecStatus Gecode::Set::RelOp::UnionN< View0, View1 >::post ( Space home,
ViewArray< View0 > &  y,
const IntSet z,
View1  x 
) [inline, static]

Post propagator $ x = z\cup\bigcup_{i\in\{0,\dots,n-1\}} y_i $.

Definition at line 282 of file union.icc.

template<class View0, class View1>
Reflection::ActorSpec Gecode::Set::RelOp::UnionN< View0, View1 >::spec ( const Space home,
Reflection::VarMap m 
) const [inline, virtual]

Specification for this propagator.

Reimplemented from Gecode::Actor.

Definition at line 302 of file union.icc.

template<class View0, class View1>
void Gecode::Set::RelOp::UnionN< View0, View1 >::post ( Space home,
Reflection::VarMap vars,
const Reflection::ActorSpec spec 
) [inline, static]

Post using specification.

Definition at line 321 of file union.icc.

template<class View0, class View1>
Support::Symbol Gecode::Set::RelOp::UnionN< View0, View1 >::ati ( void   )  [inline, static]

Name of this propagator.

Definition at line 296 of file union.icc.


Member Data Documentation

template<class View0, class View1>
bool Gecode::Set::RelOp::UnionN< View0, View1 >::shared [protected]

Whether the any views share a variable implementation.

Definition at line 267 of file rel-op.hh.

template<class View0, class View1>
GLBndSet Gecode::Set::RelOp::UnionN< View0, View1 >::unionOfDets [protected]

Union of the determined $x_i$ (which are dropped).

Definition at line 269 of file rel-op.hh.


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