Gecode::Variable< VTI, PC > Class Template Reference
[Programming variables]
Inherits Gecode::VarBase.
Detailed Description
template<VarTypeId VTI, PropCond PC>
class Gecode::Variable< VTI, PC >
Base-class for variable implementations.
Implements variable implementation for variable type identifier VTI and largest possible propagation condition PC.
Definition at line 191 of file core.icc.
Dependencies | |
void | subscribe (Space *home, Propagator *p, PropCond pc, bool assigned, ModEvent me) |
Subscribe propagator p with propagation condition pc to variable. | |
void | cancel (Propagator *p, PropCond pc) |
Cancel subscription of propagator p with propagation condition pc. | |
unsigned int | degree (void) const |
Return degree (number of subscribed propagators). | |
void | notify (Space *home, ModEvent me) |
Notify that variable implementation has been modified with me. | |
void | notify_unmodified (Space *home, ModEvent me) |
Notify that unmodified variable implementation has been modified with me. | |
Processing modified variables | |
bool | modified (void) const |
Check whether variable has been modified during propagation. | |
Cloning variables | |
Variable (Space *home, bool share, Variable &x) | |
Constructor for cloning. | |
bool | copied (void) const |
Is variable already copied. | |
Variable * | forward (void) const |
Use forward pointer if variable already copied. | |
Propagator modification events | |
static ModEvent | pme (const Propagator *p) |
Return modification event for variable from propagator p. | |
static PropModEvent | pme (ModEvent me) |
Translate modification event me into propagator modification event. | |
static ModEvent | combine (ModEvent me1, ModEvent me2) |
Combine modifications events me1 and me2. | |
Memory management | |
static void * | operator new (size_t, Space *) |
Allocate memory from space. | |
static void | operator delete (void *, Space *) |
Return memory to space. | |
static void | operator delete (void *) |
Needed for exceptions. | |
Public Member Functions | |
Variable (Space *home) | |
Creation. |
Constructor & Destructor Documentation
|
Creation.
|
|
Constructor for cloning.
|
Member Function Documentation
|
Subscribe propagator p with propagation condition pc to variable. In case the variable is assigned (that is, assigned is true), the subscribing propagator is processed for execution. Otherwise, the propagator subscribes and is processed for execution with modification event me provided that pc is different from PC_GEN_ASSIGNED. |
|
Cancel subscription of propagator p with propagation condition pc.
|
|
Return degree (number of subscribed propagators).
|
|
Notify that variable implementation has been modified with me.
|
|
Notify that unmodified variable implementation has been modified with me.
|
|
Check whether variable has been modified during propagation.
|
|
Is variable already copied.
|
|
Use forward pointer if variable already copied.
|
|
Return modification event for variable from propagator p.
|
|
Translate modification event me into propagator modification event.
|
|
Combine modifications events me1 and me2.
|
|
Allocate memory from space.
|
|
Return memory to space.
|
|
Needed for exceptions.
|
The documentation for this class was generated from the following file:
- kernel/core.icc (Revision: 2668)