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. | |
void | varimp (VarImpType *y) |
Set variable implementation to 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. | |
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 | reschedule (Space &home, Propagator &p, PropCond pc) |
Re-schedule propagator p with propagation condition pc. | |
void | subscribe (Space &home, Advisor &a, bool fail=false) |
Subscribe advisor a to view. | |
void | cancel (Space &home, Advisor &a, bool fail=false) |
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 123 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 >
void Gecode::VarImpView< Var >::varimp | ( | VarImpType * | y | ) | [inline, protected] |
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::Float::FloatView, 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 >::reschedule | ( | Space & | home, | |
Propagator & | p, | |||
PropCond | pc | |||
) | [inline] |
template<class Var >
void Gecode::VarImpView< Var >::subscribe | ( | Space & | home, | |
Advisor & | a, | |||
bool | fail = false | |||
) | [inline] |
template<class Var >
void Gecode::VarImpView< Var >::cancel | ( | Space & | home, | |
Advisor & | a, | |||
bool | fail = false | |||
) | [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: 15565)