#include "serializer.h"
#include "qsort.h"
-Set::Set(VarType t) : type(t), isRange(false), low(0), high(0) {
- members = new Vector<uint64_t>();
-}
-
int intcompare(const void *p1, const void *p2) {
uint64_t a=*(uint64_t const *) p1;
uint64_t b=*(uint64_t const *) p2;
return 1;
}
+Set::Set(VarType t) : type(t), isRange(false), low(0), high(0) {
+ members = new Vector<uint64_t>();
+}
+
+
Set::Set(VarType t, uint64_t *elements, uint num) : type(t), isRange(false), low(0), high(0) {
members = new Vector<uint64_t>(num, elements);
bsdqsort(members->expose(), members->getSize(), sizeof(uint64_t), intcompare);
serializer->mywrite(&isRange, sizeof(bool));
serializer->mywrite(&low, sizeof(uint64_t));
serializer->mywrite(&high, sizeof(uint64_t));
+ bool isMutable = isMutableSet();
+ serializer->mywrite(&isMutable, sizeof(bool));
uint size = members->getSize();
serializer->mywrite(&size, sizeof(uint));
for(uint i=0; i<size; i++){