36 template<
class BaseType,
class CoType>
41 PoolSlot<BaseType, CoType>* slot;
44 if (slot ==
nullptr) {
47 hash_.insert(cv->hashKey(), slot);
57 template<
class BaseType,
class CoType>
61 int key = cv->hashKey();
63 PoolSlot<BaseType, CoType> **cand = hash_.initializeIteration(key);
65 if (cv->equal((*cand)->conVar())) {
68 cand = hash_.next(key);
73 template<
class BaseType,
class CoType>
75 const BaseType *cv)
const
77 int key = cv->hashKey();
79 PoolSlot<BaseType, CoType> *
const *cand = hash_.initializeIteration(key);
81 if (cv->equal((*cand)->conVar())) {
84 cand = hash_.next(key);
89 template<
class BaseType,
class CoType>
92 int key = slot->conVar()->hashKey();
95 if (hash_.remove(key, slot)) {
98 Logger::ifout() <<
"NonDuplPool::softDeleteCon(): slot not found in hash table.\n";
108 template<
class BaseType,
class CoType>
110 PoolSlot<BaseType, CoType> *slot)
112 if (hash_.remove(slot->conVar()->hashKey(), slot)) {
115 Logger::ifout() <<
"NonDuplPool::hardDeleteConVar(): constraint not found in hash table.\n";