6.32 ABA_POOLSLOT< BaseType, CoType > Class Template Reference

Constraints or variables are not directly stored in a pool. But are stored in a pool slot.

#include <poolslot.h>

Inheritance diagram for ABA_POOLSLOT< BaseType, CoType >::


PIC


Public Member Functions

Private Member Functions

Private Attributes

Friends

6.32.1 Detailed Description

template<class BaseType, class CoType> class ABA_POOLSLOT< BaseType, CoType >

Constraints or variables are not directly stored in a pool. But are stored in a pool slot.

Definition at line 76 of file poolslot.h.

6.32.2 Constructor & Destructor Documentation

6.32.2.1 template<class BaseType, class CoType> ABA_POOLSLOT< BaseType, CoType >::ABA_POOLSLOT (ABA_MASTER * master, ABA_POOL< BaseType, CoType > * pool, BaseType * convar = 0)

The constructor sets the version number to 1, if already a constraint is inserted in this slot, otherwise it is set to 0.

Parameters:

master
A pointer to the corresponding master of the optimization.
pool
The pool this slot belongs to.
conVar
The constraint/variable inserted in this slot if not 0. The default value is 0.

6.32.2.2 template<class BaseType, class CoType> ABA_POOLSLOT< BaseType, CoType >::~ABA_POOLSLOT ()

The destructor for the poolslot must not be called if there are references to its constraint/variable.

6.32.2.3 template<class BaseType, class CoType> ABA_POOLSLOT< BaseType, CoType >::ABA_POOLSLOT (const ABA_POOLSLOT< BaseType, CoType > & rhs) [private]

6.32.3 Member Function Documentation

6.32.3.1 template<class BaseType, class CoType> BaseType*ABA_POOLSLOT< BaseType, CoType >::conVar () const

Returns:

A pointer to the constraint/variable in the pool slot.

6.32.3.2 template<class BaseType, class CoType> void ABA_POOLSLOT< BaseType, CoType >::insert (BaseType * convar) [private]

Inserts a constraint/variable in the slot, and updates the version number.

If the slot still contains a constraint, the program stops.

The constant ULONG_MAX is defined in the file { limits.h}.

Parameters:

conVar
The constraint/variable that is inserted.

6.32.3.3 template<class BaseType, class CoType> int ABA_POOLSLOT< BaseType, CoType >::softDelete () [private]

Tries to remove the item from the slot.

This is possible if the function ABA_CONVAR::deletable() returns true.

Returns:

0 If the constraint/variable in the slot could be deleted,

1 otherwise.

6.32.3.4 template<class BaseType, class CoType> void ABA_POOLSLOT< BaseType, CoType >::hardDelete () [private]

Deletes the constraint/variable in the slot.

Warning:

This function should be used very carefully.

6.32.3.5 template<class BaseType, class CoType> void ABA_POOLSLOT< BaseType, CoType >::removeConVarFromPool () [private]

Removes the constraint contained in this ABA_POOLSLOT from its own ABA_POOL.

6.32.3.6 template<class BaseType, class CoType> unsigned long ABA_POOLSLOT< BaseType, CoType >::version () const [private]

Returns:

The version number of the constraint/variable of the slot.

6.32.3.7 template<class BaseType, class CoType> ABA_MASTER*ABA_POOLSLOT< BaseType, CoType >::master () [private]

Returns:

A pointer to the corresponding master of the optimization.

6.32.3.8 template<class BaseType, class CoType> const ABA_POOLSLOT<BaseType, CoType>& ABA_POOLSLOT< BaseType, CoType >::operator= (const ABA_POOLSLOT< BaseType, CoType > & rhs) [private]

6.32.4 Friends And Related Function Documentation

6.32.4.1 template<class BaseType, class CoType> friend class ABA_POOLSLOTREF< BaseType, CoType > [friend]

Definition at line 77 of file poolslot.h.

6.32.4.2 template<class BaseType, class CoType> friend class ABA_POOL< BaseType, CoType > [friend]

Definition at line 78 of file poolslot.h.

6.32.4.3 template<class BaseType, class CoType> friend class ABA_STANDARDPOOL< BaseType, CoType > [friend]

Definition at line 79 of file poolslot.h.

6.32.4.4 template<class BaseType, class CoType> friend class ABA_CUTBUFFER< BaseType, CoType > [friend]

Definition at line 80 of file poolslot.h.

6.32.4.5 template<class BaseType, class CoType> friend class ABA_SUB [friend]

Definition at line 82 of file poolslot.h.

6.32.4.6 template<class BaseType, class CoType> friend class ABA_POOLSLOTREF< ABA_CONSTRAINT, ABA_VARIABLE > [friend]

Definition at line 83 of file poolslot.h.

6.32.4.7 template<class BaseType, class CoType> friend class ABA_POOLSLOTREF< ABA_VARIABLE, ABA_CONSTRAINT > [friend]

Definition at line 84 of file poolslot.h.

6.32.4.8 template<class BaseType, class CoType> friend class ABA_POOL< ABA_CONSTRAINT, ABA_VARIABLE > [friend]

Definition at line 85 of file poolslot.h.

6.32.4.9 template<class BaseType, class CoType> friend class ABA_POOL< ABA_VARIABLE, ABA_CONSTRAINT > [friend]

Definition at line 86 of file poolslot.h.

6.32.4.10 template<class BaseType, class CoType> friend class ABA_STANDARDPOOL< ABA_CONSTRAINT, ABA_VARIABLE > [friend]

Definition at line 87 of file poolslot.h.

6.32.4.11 template<class BaseType, class CoType> friend class ABA_STANDARDPOOL< ABA_VARIABLE, ABA_CONSTRAINT > [friend]

Definition at line 88 of file poolslot.h.

6.32.4.12 template<class BaseType, class CoType> friend class ABA_NONDUPLPOOL< ABA_CONSTRAINT, ABA_VARIABLE > [friend]

Definition at line 89 of file poolslot.h.

6.32.4.13 template<class BaseType, class CoType> friend class ABA_NONDUPLPOOL< ABA_VARIABLE, ABA_CONSTRAINT > [friend]

Definition at line 90 of file poolslot.h.

6.32.4.14 template<class BaseType, class CoType> friend class ABA_CUTBUFFER< ABA_CONSTRAINT, ABA_VARIABLE > [friend]

Definition at line 91 of file poolslot.h.

6.32.4.15 template<class BaseType, class CoType> friend class ABA_CUTBUFFER< ABA_VARIABLE, ABA_CONSTRAINT > [friend]

Definition at line 92 of file poolslot.h.

6.32.5 Member Data Documentation

6.32.5.1 template<class BaseType, class CoType> ABA_MASTER*ABA_POOLSLOT< BaseType, CoType >::master_ [private]

A pointer to the corresponding master of the optimization.

Definition at line 182 of file poolslot.h.

6.32.5.2 template<class BaseType, class CoType> BaseType*ABA_POOLSLOT< BaseType, CoType >::conVar_ [private]

A pointer to the constraint/variable.

Definition at line 186 of file poolslot.h.

6.32.5.3 template<class BaseType, class CoType> unsigned long ABA_POOLSLOT< BaseType, CoType >::version_ [private]

The version of the constraint in the slot.

Definition at line 190 of file poolslot.h.

6.32.5.4 template<class BaseType, class CoType> ABA_POOL<BaseType, CoType>*ABA_POOLSLOT< BaseType, CoType >::pool_ [private]

A pointer to the corresponding pool.

Definition at line 194 of file poolslot.h.

The documentation for this class was generated from the following file: