#include <poolslotref.h>
Inheritance diagram for ABA_POOLSLOTREF< BaseType, CoType >:

Public Member Functions | |
| ABA_POOLSLOTREF (ABA_MASTER *master) | |
| ABA_POOLSLOTREF (ABA_POOLSLOT< BaseType, CoType > *slot) | |
| ABA_POOLSLOTREF (const ABA_POOLSLOTREF< BaseType, CoType > &rhs) | |
| The copy constructor may increments the reference counter of the constraint/variable only if version number of the slot and version number of the reference are equal, since otherwise this is not a correct reference to slot_->conVar(). | |
| ~ABA_POOLSLOTREF () | |
| The destructor sends a message to the constraint that it will no longer be referred from this place in the program. | |
| BaseType * | conVar () const |
| unsigned long | version () const |
| ABA_POOLSLOT< BaseType, CoType > * | slot () const |
| void | slot (ABA_POOLSLOT< BaseType, CoType > *s) |
| This version of the function slot() initializes the referenced pool slot. | |
Private Member Functions | |
| void | printDifferentVersionError () const |
| const ABA_POOLSLOTREF< BaseType, CoType > & | operator= (const ABA_POOLSLOTREF< BaseType, CoType > &rhs) |
Private Attributes | |
| ABA_MASTER * | master_ |
| ABA_POOLSLOT< BaseType, CoType > * | slot_ |
| unsigned long | version_ |
| The version number of the slot at construction/initialization time of this reference. | |
Friends | |
| ostream & | operator<< (ostream &out, const ABA_POOLSLOTREF &rhs) |
| The output operator writes the constraint/variable stored in the referenced slot to an output stream. | |
Definition at line 54 of file poolslotref.h.
| ABA_POOLSLOTREF< BaseType, CoType >::ABA_POOLSLOTREF | ( | ABA_MASTER * | master | ) |
This constructor generates an object referencing to no pool slot.
| master | A pointer to the corresponding master of the optimization. |
| ABA_POOLSLOTREF< BaseType, CoType >::ABA_POOLSLOTREF | ( | ABA_POOLSLOT< BaseType, CoType > * | slot | ) |
This constructor initializes the reference to a pool slot with a given slot.
Also the constraint/variable contained in this slot receives a message that a new references to it is created.
| slot | The pool slot that is referenced now. |
| ABA_POOLSLOTREF< BaseType, CoType >::ABA_POOLSLOTREF | ( | const ABA_POOLSLOTREF< BaseType, CoType > & | rhs | ) |
The copy constructor may increments the reference counter of the constraint/variable only if version number of the slot and version number of the reference are equal, since otherwise this is not a correct reference to slot_->conVar().
| rhs | The pool slot that is copied in the initialization process. |
| ABA_POOLSLOTREF< BaseType, CoType >::~ABA_POOLSLOTREF | ( | ) |
The destructor sends a message to the constraint that it will no longer be referred from this place in the program.
If the version number of the reference and the version number of the slot do not equal, we must not decrement the reference counter of slot_->conVar() because this is not a correct reference to this constraint/variable.
| BaseType* ABA_POOLSLOTREF< BaseType, CoType >::conVar | ( | ) | const |
| unsigned long ABA_POOLSLOTREF< BaseType, CoType >::version | ( | ) | const |
| ABA_POOLSLOT<BaseType, CoType>* ABA_POOLSLOTREF< BaseType, CoType >::slot | ( | ) | const |
| void ABA_POOLSLOTREF< BaseType, CoType >::slot | ( | ABA_POOLSLOT< BaseType, CoType > * | s | ) |
This version of the function slot() initializes the referenced pool slot.
The function slot() may decrement the reference counter of slot_->conVar() only if the version number of the reference and the version number of the slot are equal since otherwise this is not a valid reference.
| s | The new slot that is referenced. This must not be a 0-pointer. |
| void ABA_POOLSLOTREF< BaseType, CoType >::printDifferentVersionError | ( | ) | const [private] |
| const ABA_POOLSLOTREF<BaseType, CoType>& ABA_POOLSLOTREF< BaseType, CoType >::operator= | ( | const ABA_POOLSLOTREF< BaseType, CoType > & | rhs | ) | [private] |
| ostream& operator<< | ( | ostream & | out, | |
| const ABA_POOLSLOTREF< BaseType, CoType > & | rhs | |||
| ) | [friend] |
The output operator writes the constraint/variable stored in the referenced slot to an output stream.
| out | The output stream. | |
| rhs | The reference to a pool slot being output. |
ABA_MASTER* ABA_POOLSLOTREF< BaseType, CoType >::master_ [private] |
A pointer to the corresponding master of the optimization.
Definition at line 151 of file poolslotref.h.
ABA_POOLSLOT<BaseType, CoType>* ABA_POOLSLOTREF< BaseType, CoType >::slot_ [private] |
A pointer to the referenced pool slot.
Definition at line 155 of file poolslotref.h.
unsigned long ABA_POOLSLOTREF< BaseType, CoType >::version_ [private] |
The version number of the slot at construction/initialization time of this reference.
Definition at line 160 of file poolslotref.h.
1.5.1