Gecode::VarImpView< Var > Class Template Reference
[Programming views for variables]
Base-class for variable implementation views. More...
#include <view.hpp>
Public Types | |
| typedef Var | VarType |
| The variable type corresponding to the view. | |
| typedef Var::VarImpType | VarImpType |
| The variable implementation type corresponding to the view. | |
Protected Member Functions | |
| VarImpView (void) | |
| Default constructor. | |
| VarImpView (VarImpType *y) | |
| Initialize with variable implementation y. | |
Protected Attributes | |
| VarImpType * | x |
| Pointer to variable implementation. | |
Generic view information | |
|
| |
| static bool | varderived (void) |
| Return whether this view is derived from a VarImpView. | |
| VarImpType * | varimp (void) const |
| Return variable implementation of view. | |
| unsigned int | degree (void) const |
| Return degree (number of subscribed propagators and advisors). | |
| double | afc (void) const |
| Return accumulated failure count (plus degree). | |
View-dependent propagator support | |
|
| |
| static void | schedule (Space &home, Propagator &p, ModEvent me) |
| Schedule propagator p with modification event me. | |
| static ModEvent | me (const ModEventDelta &med) |
| Return modification event for view type in med. | |
| static ModEventDelta | med (ModEvent me) |
| Translate modification event me to modification event delta for view. | |
Delta information for advisors | |
|
| |
| static ModEvent | modevent (const Delta &d) |
| Return modification event. | |
Domain tests | |
|
| |
| bool | assigned (void) const |
| Test whether view is assigned. | |
Dependencies | |
|
| |
| void | subscribe (Space &home, Propagator &p, PropCond pc, bool schedule=true) |
| Subscribe propagator p with propagation condition pc to view. | |
| void | cancel (Space &home, Propagator &p, PropCond pc) |
| Cancel subscription of propagator p with propagation condition pc to view. | |
| void | subscribe (Space &home, Advisor &a) |
| Subscribe advisor a to view. | |
| void | cancel (Space &home, Advisor &a) |
| Cancel subscription of advisor a. | |
Cloning | |
|
| |
| void | update (Space &home, bool share, VarImpView< Var > &y) |
| Update this view to be a clone of view y. | |
View comparison | |
|
| |
| template<class VarA , class VarB > | |
| bool | same (const VarImpView< VarA > &x, const VarImpView< VarB > &y) |
| Test whether views x and y are the same. | |
| template<class ViewA , class ViewB > | |
| bool | before (const ViewA &x, const ViewB &y) |
| Test whether view x comes before y (arbitrary order). | |
Detailed Description
template<class Var>
class Gecode::VarImpView< Var >
Base-class for variable implementation views.
Definition at line 117 of file view.hpp.
Member Typedef Documentation
template<class Var>
| typedef Var Gecode::VarImpView< Var >::VarType |
template<class Var>
| typedef Var::VarImpType Gecode::VarImpView< Var >::VarImpType |
Constructor & Destructor Documentation
template<class Var >
| Gecode::VarImpView< Var >::VarImpView | ( | void | ) | [inline, protected] |
template<class Var >
| Gecode::VarImpView< Var >::VarImpView | ( | VarImpType * | y | ) | [inline, protected] |
Member Function Documentation
template<class Var >
| bool Gecode::VarImpView< Var >::varderived | ( | void | ) | [inline, static] |
Return whether this view is derived from a VarImpView.
template<class Var >
| Var::VarImpType * Gecode::VarImpView< Var >::varimp | ( | void | ) | const [inline] |
template<class Var >
| unsigned int Gecode::VarImpView< Var >::degree | ( | void | ) | const [inline] |
template<class Var >
| double Gecode::VarImpView< Var >::afc | ( | void | ) | const [inline] |
template<class Var >
| bool Gecode::VarImpView< Var >::assigned | ( | void | ) | const [inline] |
template<class Var >
| void Gecode::VarImpView< Var >::schedule | ( | Space & | home, | |
| Propagator & | p, | |||
| ModEvent | me | |||
| ) | [inline, static] |
template<class Var >
| ModEvent Gecode::VarImpView< Var >::me | ( | const ModEventDelta & | med | ) | [inline, static] |
template<class Var >
| ModEventDelta Gecode::VarImpView< Var >::med | ( | ModEvent | me | ) | [inline, static] |
Translate modification event me to modification event delta for view.
Reimplemented in Gecode::Int::IntView, and Gecode::Int::BoolView.
template<class Var >
| void Gecode::VarImpView< Var >::subscribe | ( | Space & | home, | |
| Propagator & | p, | |||
| PropCond | pc, | |||
| bool | schedule = true | |||
| ) | [inline] |
template<class Var >
| void Gecode::VarImpView< Var >::cancel | ( | Space & | home, | |
| Propagator & | p, | |||
| PropCond | pc | |||
| ) | [inline] |
template<class Var >
| void Gecode::VarImpView< Var >::subscribe | ( | Space & | home, | |
| Advisor & | a | |||
| ) | [inline] |
template<class Var >
| void Gecode::VarImpView< Var >::cancel | ( | Space & | home, | |
| Advisor & | a | |||
| ) | [inline] |
template<class Var >
| ModEvent Gecode::VarImpView< Var >::modevent | ( | const Delta & | d | ) | [inline, static] |
Return modification event.
Reimplemented in Gecode::Set::SetView.
template<class Var>
| void Gecode::VarImpView< Var >::update | ( | Space & | home, | |
| bool | share, | |||
| VarImpView< Var > & | y | |||
| ) | [inline] |
Friends And Related Function Documentation
template<class VarA , class VarB >
| bool same | ( | const VarImpView< VarA > & | x, | |
| const VarImpView< VarB > & | y | |||
| ) | [related] |
Test whether views x and y are the same.
template<class ViewA , class ViewB >
| bool before | ( | const ViewA & | x, | |
| const ViewB & | y | |||
| ) | [related] |
Member Data Documentation
template<class Var>
VarImpType* Gecode::VarImpView< Var >::x [protected] |
The documentation for this class was generated from the following file:
- gecode/kernel/view.hpp (Revision: 11514)
