4 ElementSig::ElementSig(uint id, SetSig *_ssig):
11 string ElementSig::toString() const{
12 return "Element" + to_string(id) + ".value";
15 string ElementSig::getSignature() const{
16 return "one sig Element" + to_string(id) + " {\n\
19 value in " + *ssig + "\n\
24 SetSig::SetSig(uint id, Set *set): Signature(id){
25 ASSERT(set->getSize() > 0);
26 domain = to_string(set->getElement(0));
27 for(uint i=1; i< set->getSize(); i++){
28 domain += " + " + to_string(set->getElement(i));
32 string SetSig::toString() const{
33 return "Set" + to_string(id) + ".domain";
36 string SetSig::getSignature() const{
37 return "one sig Set" + to_string(id) + " {\n\
40 domain = " + domain + "\n\
45 string Signature::operator+(const string& str){
46 return toString() + str;
49 string operator+(const string& str, const Signature& sig){
50 return str + sig.toString();