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 ValuedSignature: public Signature{
22 ValuedSignature(uint id);
24 void setValue(int v){value = v;}
29 class BooleanSig: public ValuedSignature{
32 virtual ~BooleanSig(){}
33 virtual string toString() const;
34 virtual string getAbsSignature() const;
35 virtual string getSignature() const;
37 static bool encodeAbs;
40 class SetSig: public Signature{
42 SetSig(uint id, Set *set);
44 virtual string toString() const;
45 virtual string getAbsSignature() const;
46 virtual string getSignature() const;
47 static bool encodeAbs;
52 class ElementSig: public ValuedSignature{
54 ElementSig(uint id, SetSig *ssig);
55 virtual ~ElementSig(){}
56 virtual string toString() const;
57 virtual string getAbsSignature() const;
58 virtual string getSignature() const;
61 static bool encodeAbs;
64 string operator+(const string& str, const Signature& sig);