Table::Table(Set **_domains, uint numDomain, Set *_range) :
domains(_domains, numDomain),
range(_range) {
- entries = allocHashSetTableEntry(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
+ entries = new HashSetTableEntry();
}
void Table::addNewTableEntry(uint64_t *inputs, uint inputSize, uint64_t result) {
ASSERT(result == true || result == false);
#endif
TableEntry *tb = allocTableEntry(inputs, inputSize, result);
- bool status = addHashSetTableEntry(entries, tb);
+ bool status = entries->add(tb);
ASSERT(status);
}
TableEntry * Table::getTableEntry(uint64_t *inputs, uint inputSize) {
TableEntry *temp = allocTableEntry(inputs, inputSize, -1);
- TableEntry *result = getHashSetTableEntry(entries, temp);
+ TableEntry *result = entries->get(temp);
deleteTableEntry(temp);
return result;
}
Table::~Table() {
- HSIteratorTableEntry *iterator = iteratorTableEntry(entries);
- while (hasNextTableEntry(iterator)) {
- deleteTableEntry(nextTableEntry(iterator));
+ HSIteratorTableEntry *iterator = entries->iterator();
+ while (iterator->hasNext()) {
+ deleteTableEntry(iterator->next());
}
- deleteIterTableEntry(iterator);
- deleteHashSetTableEntry(entries);
+ delete iterator;
+ delete entries;
}