10 Signature(uint _id):id(_id){}
11 string operator+(const string& s);
12 virtual string toString() const = 0;
13 virtual string getAbsSignature() const =0;
14 virtual string getSignature() const =0;
15 virtual ~Signature(){}
20 class BooleanSig: public Signature{
24 void setValue(bool v) {value = v; }
25 virtual ~BooleanSig(){}
26 virtual string toString() const;
27 virtual string getAbsSignature() const;
28 virtual string getSignature() const;
31 static bool encodeAbs;
34 class SetSig: public Signature{
36 SetSig(uint id, Set *set);
38 virtual string toString() const;
39 virtual string getAbsSignature() const;
40 virtual string getSignature() const;
41 static bool encodeAbs;
46 class ElementSig: public Signature{
48 ElementSig(uint id, SetSig *ssig);
49 uint64_t getValue() { return value;}
50 void setValue(uint64_t v){value = v;}
51 virtual ~ElementSig(){}
52 virtual string toString() const;
53 virtual string getAbsSignature() const;
54 virtual string getSignature() const;
58 static bool encodeAbs;
61 string operator+(const string& str, const Signature& sig);