Generated on Thu Apr 11 14:00:10 2019 for Gecode by doxygen 1.6.3

Gecode::Set::Channel::ChannelSet< View > Class Template Reference
[Set propagators]

Propagator for successors/predecessors channelling More...

#include <channel.hh>

List of all members.

Public Member Functions

virtual Actorcopy (Space &home)
 Copy propagator during cloning.
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function (defined as PC_QUADRATIC_HI).
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, ViewArray< CachedView< View > > &x, ViewArray< CachedView< View > > &y)
 Post propagator for $j\in x_i \Leftrightarrow i\in y_j$.

Protected Member Functions

 ChannelSet (Space &home, ChannelSet &p)
 Constructor for cloning p.
 ChannelSet (Home home, ViewArray< CachedView< View > > &, ViewArray< CachedView< View > > &)
 Constructor for posting.

Protected Attributes

ViewArray< CachedView< View > > xs
 SetViews, $x_i$ reflects the successors of $i$.
ViewArray< CachedView< View > > ys
 SetViews, $y_j$ reflects the predecessors of $j$.

Detailed Description

template<typename View>
class Gecode::Set::Channel::ChannelSet< View >

Propagator for successors/predecessors channelling

Implements channelling constraints between 2 sequences of SetVars. For SetVars $x_0,\dots,x_n$ and SetVars $y_0,\dots,y_m$ it propagates the constraint $j\in x_i \Leftrightarrow i\in y_i$. $x_i$ is the set of successors of $i$, and $y_j$ is the set of predecessors of $j$.

Requires

 #include <gecode/set/int.hh> 

Definition at line 226 of file channel.hh.


Constructor & Destructor Documentation

template<typename View >
Gecode::Set::Channel::ChannelSet< View >::ChannelSet ( Space home,
ChannelSet< View > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 52 of file set.hpp.

template<typename View >
Gecode::Set::Channel::ChannelSet< View >::ChannelSet ( Home  home,
ViewArray< CachedView< View > > &  xs0,
ViewArray< CachedView< View > > &  ys0 
) [inline, protected]

Constructor for posting.

Definition at line 38 of file set.hpp.


Member Function Documentation

template<typename View >
Actor * Gecode::Set::Channel::ChannelSet< View >::copy ( Space home  )  [inline, virtual]

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 101 of file set.hpp.

template<typename View >
PropCost Gecode::Set::Channel::ChannelSet< View >::cost ( const Space home,
const ModEventDelta med 
) const [inline, virtual]

Cost function (defined as PC_QUADRATIC_HI).

Implements Gecode::Propagator.

Definition at line 79 of file set.hpp.

template<typename View >
void Gecode::Set::Channel::ChannelSet< View >::reschedule ( Space home  )  [inline, virtual]

Schedule function.

Implements Gecode::Propagator.

Definition at line 85 of file set.hpp.

template<typename View >
size_t Gecode::Set::Channel::ChannelSet< View >::dispose ( Space home  )  [inline, virtual]

Delete propagator and return its size.

Reimplemented from Gecode::Actor.

Definition at line 92 of file set.hpp.

template<typename View >
ExecStatus Gecode::Set::Channel::ChannelSet< View >::propagate ( Space home,
const ModEventDelta med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 107 of file set.hpp.

template<typename View >
ExecStatus Gecode::Set::Channel::ChannelSet< View >::post ( Home  home,
ViewArray< CachedView< View > > &  x,
ViewArray< CachedView< View > > &  y 
) [inline, static]

Post propagator for $j\in x_i \Leftrightarrow i\in y_j$.

Definition at line 60 of file set.hpp.


Member Data Documentation

template<typename View >
ViewArray<CachedView<View> > Gecode::Set::Channel::ChannelSet< View >::xs [protected]

SetViews, $x_i$ reflects the successors of $i$.

Definition at line 229 of file channel.hh.

template<typename View >
ViewArray<CachedView<View> > Gecode::Set::Channel::ChannelSet< View >::ys [protected]

SetViews, $y_j$ reflects the predecessors of $j$.

Definition at line 231 of file channel.hh.


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