d029f82bbdcdf428ebf5fe1c5f9c1eb342fc8d46
[satune.git] / src / AST / mutableset.cc
1 #include "mutableset.h"
2 #include "csolver.h"
3
4 MutableSet::MutableSet(VarType t) : Set(t) {
5 }
6
7 void MutableSet::addElementMSet(uint64_t element) {
8         members->push(element);
9 }
10
11 Set * MutableSet::clone(CSolver * solver, CloneMap *map) {
12         Set * s=map->set.get(this);
13         if (s != NULL)
14                 return s;
15         s=solver->createMutableSet(type);
16         for(uint i=0; i<members->getSize();i++) {
17                 solver->addItem((MutableSet *) s, members->get(i));
18         }
19         map->set.put(this, s);
20         return s;
21 }