33 #pragma GCC visibility push(default)
37 template<
class BaseType,
class CoType>
42 PoolSlot<BaseType, CoType>* slot;
45 if (slot ==
nullptr) {
48 hash_.insert(cv->hashKey(), slot);
58 template<
class BaseType,
class CoType>
62 int key = cv->hashKey();
64 PoolSlot<BaseType, CoType> **cand = hash_.initializeIteration(key);
66 if (cv->equal((*cand)->conVar())) {
69 cand = hash_.next(key);
74 template<
class BaseType,
class CoType>
76 const BaseType *cv)
const
78 int key = cv->hashKey();
80 PoolSlot<BaseType, CoType> *
const *cand = hash_.initializeIteration(key);
82 if (cv->equal((*cand)->conVar())) {
85 cand = hash_.next(key);
90 template<
class BaseType,
class CoType>
93 int key = slot->conVar()->hashKey();
96 if (hash_.remove(key, slot)) {
99 Logger::ifout() <<
"NonDuplPool::softDeleteCon(): slot not found in hash table.\n";
109 template<
class BaseType,
class CoType>
111 PoolSlot<BaseType, CoType> *slot)
113 if (hash_.remove(slot->conVar()->hashKey(), slot)) {
116 Logger::ifout() <<
"NonDuplPool::hardDeleteConVar(): constraint not found in hash table.\n";
124 #pragma GCC visibility pop