#include "mymemory.h"
#include "structs.h"
-struct Table {
- ArrayElement domains;
- Element * range;
- VectorTableEntry 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(Element **domains, uint numDomain, Element * range);
-void addNewTableEntry(Table* table, uint64_t* inputs, uint inputSize, uint64_t result);
-void deleteTable(Table* table);
#endif