Fix tuner issues
[satune.git] / src / AST / table.h
1 #ifndef TABLE_H
2 #define TABLE_H
3 #include "classlist.h"
4 #include "mymemory.h"
5 #include "structs.h"
6
7 class Table {
8 public:
9         Table(Set *range);
10         void addNewTableEntry(uint64_t *inputs, uint inputSize, uint64_t result);
11         TableEntry *getTableEntry(uint64_t *inputs, uint inputSize);
12         Table *clone(CSolver *solver, CloneMap *map);
13         void serialize(Serializer *serializer);
14         void print();
15         ~Table();
16         Set *getRange() {return range;}
17
18         SetIteratorTableEntry *getEntries() {return entries->iterator();}
19         uint getSize() {return entries->getSize();}
20
21         CMEMALLOC;
22
23 private:
24         Set *range;
25         HashsetTableEntry *entries;
26 };
27
28 #endif