Forgot file
[satune.git] / src / AST / set.h
index 172f0a7abfb8bb28aa37111e0e1948d20667fc30..eb406bb553c6ed4feded557fc57454a46dd0b13c 100644 (file)
 #include "mymemory.h"
 
 class Set {
- public:
+public:
+       Set(VarType t);
        Set(VarType t, uint64_t *elements, uint num);
        Set(VarType t, uint64_t lowrange, uint64_t highrange);
-       ~Set();
+       virtual ~Set();
        bool exists(uint64_t element);
        uint getSize();
+       VarType getType(){return type;}
+       uint64_t getNewUniqueItem(){return low++;}
+       uint64_t getMemberAt(uint index);
        uint64_t getElement(uint index);
-       
+       virtual Set *clone(CSolver *solver, CloneMap *map);
+       MEMALLOC;
+protected:
        VarType type;
        bool isRange;
        uint64_t low;//also used to count unique items
        uint64_t high;
-       VectorInt *members;
-       MEMALLOC;
+       Vector<uint64_t> *members;
+       
 };
 
-
 #endif/* SET_H */