#include "mymemory.h"
#include "structs.h"
-struct Table {
- ArraySet domains;
+class Table {
+public:
+ Table(Set **domains, uint numDomain, Set *range);
+ void addNewTableEntry(uint64_t *inputs, uint inputSize, uint64_t result);
+ TableEntry *getTableEntry(uint64_t *inputs, uint inputSize);
+ Table *clone(CSolver *solver, CloneMap *map);
+ ~Table();
+ Array<Set *> domains;
Set *range;
- HashSetTableEntry *entries;
+ HashsetTableEntry *entries;
+ CMEMALLOC;
};
-Table *allocTable(Set **domains, uint numDomain, Set *range);
-void addNewTableEntry(Table *This, uint64_t *inputs, uint inputSize, uint64_t result);
-TableEntry *getTableEntryFromTable(Table *table, uint64_t *inputs, uint inputSize);
-void deleteTable(Table *This);
#endif