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 bool isMutableSet() {return false;}
virtual Set *clone(CSolver *solver, CloneMap *map);
-
+ virtual void serialize(Serializer* serializer);
+ CMEMALLOC;
+protected:
VarType type;
bool isRange;
uint64_t low;//also used to count unique items
uint64_t high;
Vector<uint64_t> *members;
- MEMALLOC;
+
};
+int intcompare(const void *p1, const void *p2);
#endif/* SET_H */