4 bool BooleanSig::encodeAbsSig = true;
6 BooleanSig::BooleanSig(uint id):
12 bool BooleanSig::getValue(){
17 string BooleanSig::toString() const{
18 return "Boolean" + to_string(id) + ".value";
21 string BooleanSig::getSignature() const{
25 str += "one sig BooleanSet {\n\
31 str += "one sig Boolean" + to_string(id) + " {\n\
34 value in BooleanSet.domain\n\
39 ElementSig::ElementSig(uint id, SetSig *_ssig):
46 string ElementSig::toString() const{
47 return "Element" + to_string(id) + ".value";
50 string ElementSig::getSignature() const{
51 return "one sig Element" + to_string(id) + " {\n\
54 value in " + *ssig + "\n\
59 SetSig::SetSig(uint id, Set *set): Signature(id){
60 ASSERT(set->getSize() > 0);
61 domain = to_string(set->getElement(0));
62 for(uint i=1; i< set->getSize(); i++){
63 domain += " + " + to_string(set->getElement(i));
67 string SetSig::toString() const{
68 return "Set" + to_string(id) + ".domain";
71 string SetSig::getSignature() const{
72 return "one sig Set" + to_string(id) + " {\n\
75 domain = " + domain + "\n\
80 string Signature::operator+(const string& str){
81 return toString() + str;
84 string operator+(const string& str, const Signature& sig){
85 return str + sig.toString();