#include "mymemory.h"
#include "structs.h"
-struct Table {
- ArraySet domains;
- Set * range;
- HashSetTableEntry* entries;
+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;
+ 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