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

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

Propagator for channelling between set variable and its characteristic function More...

#include <channel.hh>

List of all members.

Classes

class  IndexAdvisor
 Advisor storing a single index More...

Public Member Functions

virtual Actor * copy (Space &home)
 Copy propagator during cloning.
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function (defined as PC_QUADRATIC_LO).
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.
virtual ExecStatus advise (Space &home, Advisor &a, const Delta &d)
 Give advice to propagator.

Static Public Member Functions

static ExecStatus post (Home home, ViewArray< Gecode::Int::BoolView > &x, View y)
 Post propagator for $x_i=j \Leftrightarrow i\in y_j$.

Protected Types

typedef MixNaryOnePropagator
< Gecode::Int::BoolView,
Gecode::Int::PC_BOOL_VAL, View,
PC_GEN_NONE > 
Super

Protected Member Functions

 ChannelBool (Space &home, ChannelBool &p)
 Constructor for cloning p.
 ChannelBool (Home home, ViewArray< Gecode::Int::BoolView > &, View)
 Constructor for posting.

Protected Attributes

Council< IndexAdvisor > co
 Council for managing advisors.
SetDelta delta
 Accumulated delta information.
GLBndSet zeros
 Accumulated zero Booleans.
GLBndSet ones
 Accumulated one Booleans.
bool running
 Flag whether propagation is currently running.

Detailed Description

template<class View>
class Gecode::Set::Channel::ChannelBool< View >

Propagator for channelling between set variable and its characteristic function

Implements channelling constraints between BoolVar and a SetVar. For BoolVars $x_0,\dots,x_n$ and SetVar $y$ it propagates the constraint $x_i=1 \Leftrightarrow i\in y$.

Requires

 #include <gecode/set/int.hh> 

Definition at line 148 of file channel.hh.


Member Typedef Documentation

Definition at line 155 of file channel.hh.


Constructor & Destructor Documentation

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

Constructor for cloning p.

Definition at line 111 of file bool.hpp.

template<class View >
Gecode::Set::Channel::ChannelBool< View >::ChannelBool ( Home  home,
ViewArray< Gecode::Int::BoolView > &  x0,
View  y0 
) [inline, protected]

Constructor for posting.

Definition at line 78 of file bool.hpp.


Member Function Documentation

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

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 148 of file bool.hpp.

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

Cost function (defined as PC_QUADRATIC_LO).

Reimplemented from Gecode::MixNaryOnePropagator< Gecode::Int::BoolView, Gecode::Int::PC_BOOL_VAL, View, PC_GEN_NONE >.

Definition at line 127 of file bool.hpp.

template<class View >
void Gecode::Set::Channel::ChannelBool< View >::reschedule ( Space &  home  )  [inline, virtual]

Schedule function.

Reimplemented from Gecode::MixNaryOnePropagator< Gecode::Int::BoolView, Gecode::Int::PC_BOOL_VAL, View, PC_GEN_NONE >.

Definition at line 133 of file bool.hpp.

template<class View >
size_t Gecode::Set::Channel::ChannelBool< View >::dispose ( Space &  home  )  [inline, virtual]

Delete propagator and return its size.

Reimplemented from Gecode::MixNaryOnePropagator< Gecode::Int::BoolView, Gecode::Int::PC_BOOL_VAL, View, PC_GEN_NONE >.

Definition at line 140 of file bool.hpp.

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

Perform propagation.

Implements Gecode::Propagator.

Definition at line 154 of file bool.hpp.

template<class View >
ExecStatus Gecode::Set::Channel::ChannelBool< View >::advise ( Space &  home,
Advisor &  a,
const Delta &  d 
) [inline, virtual]

Give advice to propagator.

Reimplemented from Gecode::Propagator.

Definition at line 204 of file bool.hpp.

template<class View >
ExecStatus Gecode::Set::Channel::ChannelBool< View >::post ( Home  home,
ViewArray< Gecode::Int::BoolView > &  x,
View  y 
) [inline, static]

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

Definition at line 118 of file bool.hpp.


Member Data Documentation

template<class View>
Council<IndexAdvisor> Gecode::Set::Channel::ChannelBool< View >::co [protected]

Council for managing advisors.

Definition at line 185 of file channel.hh.

template<class View>
SetDelta Gecode::Set::Channel::ChannelBool< View >::delta [protected]

Accumulated delta information.

Definition at line 187 of file channel.hh.

template<class View>
GLBndSet Gecode::Set::Channel::ChannelBool< View >::zeros [protected]

Accumulated zero Booleans.

Definition at line 189 of file channel.hh.

template<class View>
GLBndSet Gecode::Set::Channel::ChannelBool< View >::ones [protected]

Accumulated one Booleans.

Definition at line 191 of file channel.hh.

template<class View>
bool Gecode::Set::Channel::ChannelBool< View >::running [protected]

Flag whether propagation is currently running.

Definition at line 193 of file channel.hh.


The documentation for this class was generated from the following files:
  • gecode/set/channel.hh
  • gecode/set/channel/bool.hpp