X-Git-Url: http://plrg.eecs.uci.edu/git/?p=satune.git;a=blobdiff_plain;f=src%2FAlloyEnc%2Fsignature.h;h=e395ce3d35603ee0bab57ba0782c14bcf60b2f11;hp=6dcb2e9c92f9ec492141a48216e90268b7f46a65;hb=829b44197d915859a76704b501ebe14105b7585e;hpb=342c3e59b76a3e79741a0867f7770255eaa82c63 diff --git a/src/AlloyEnc/signature.h b/src/AlloyEnc/signature.h index 6dcb2e9..e395ce3 100644 --- a/src/AlloyEnc/signature.h +++ b/src/AlloyEnc/signature.h @@ -10,18 +10,35 @@ public: Signature(uint _id):id(_id){} string operator+(const string& s); virtual string toString() const = 0; + virtual string getAbsSignature() const =0; virtual string getSignature() const =0; virtual ~Signature(){} protected: uint id; }; +class BooleanSig: public Signature{ +public: + BooleanSig(uint id); + bool getValue(); + void setValue(bool v) {value = v; } + virtual ~BooleanSig(){} + virtual string toString() const; + virtual string getAbsSignature() const; + virtual string getSignature() const; +private: + int value; + static bool encodeAbs; +}; + class SetSig: public Signature{ public: SetSig(uint id, Set *set); virtual ~SetSig(){} virtual string toString() const; + virtual string getAbsSignature() const; virtual string getSignature() const; + static bool encodeAbs; private: string domain; }; @@ -33,10 +50,12 @@ public: void setValue(uint64_t v){value = v;} virtual ~ElementSig(){} virtual string toString() const; + virtual string getAbsSignature() const; virtual string getSignature() const; private: SetSig *ssig; uint64_t value; + static bool encodeAbs; }; string operator+(const string& str, const Signature& sig);