1)core dump in regex for big strings 2) Boolean Var bugs 3) adding support for other...
[satune.git] / src / AlloyEnc / signature.h
index e395ce3d35603ee0bab57ba0782c14bcf60b2f11..1b321a6f134590f8d7bbac8fbcece632119d9861 100644 (file)
@@ -17,17 +17,23 @@ protected:
        uint id;
 };
 
        uint id;
 };
 
-class BooleanSig: public Signature{
+class ValuedSignature: public Signature{
+public:
+       ValuedSignature(uint id);
+       int getValue();
+       void setValue(int v){value = v;}
+protected:
+       int value;
+};
+
+class BooleanSig: public ValuedSignature{
 public:
        BooleanSig(uint id);
 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:
        virtual ~BooleanSig(){}
        virtual string toString() const;
        virtual string getAbsSignature() const;
        virtual string getSignature() const;
 private:
-       int value;
        static bool encodeAbs;
 };
 
        static bool encodeAbs;
 };
 
@@ -43,18 +49,15 @@ private:
        string domain;
 };
 
        string domain;
 };
 
-class ElementSig: public Signature{
+class ElementSig: public ValuedSignature{
 public:
        ElementSig(uint id, SetSig *ssig);
 public:
        ElementSig(uint id, SetSig *ssig);
-       uint64_t getValue() { return value;}
-       void setValue(uint64_t v){value = v;}
        virtual ~ElementSig(){}
        virtual string toString() const;
        virtual string getAbsSignature() const;
        virtual string getSignature() const;
 private:
        SetSig *ssig;
        virtual ~ElementSig(){}
        virtual string toString() const;
        virtual string getAbsSignature() const;
        virtual string getSignature() const;
 private:
        SetSig *ssig;
-       uint64_t value;
        static bool encodeAbs;
 };
 
        static bool encodeAbs;
 };