1 #include "mutableset.h"
5 MutableSet::MutableSet(VarType t) : Set(t) {
8 void MutableSet::addElementMSet(uint64_t element) {
9 members->push(element);
12 Set *MutableSet::clone(CSolver *solver, CloneMap *map) {
13 Set *s = (Set *) map->get(this);
16 s = solver->createMutableSet(type);
17 for (uint i = 0; i < members->getSize(); i++) {
18 ((MutableSet *)s)->addElementMSet(members->get(i));
19 solver->addItem((MutableSet *) s, members->get(i));
21 ((MutableSet *)s)->finalize();
26 void MutableSet::finalize() {
27 bsdqsort(members->expose(), members->getSize(), sizeof(uint64_t), intcompare);