(de)serializer: BooleanOrder + BooleanVar
[satune.git] / src / csolver.h
index 2875a9c78365e708912ddcd5ef2620837212af66..feec9e6d40c8f8f5e9a0da62ac2e597df5a0c1c0 100644 (file)
@@ -134,9 +134,11 @@ public:
        SATEncoder *getSATEncoder() {return satEncoder;}
 
        void replaceBooleanWithTrue(BooleanEdge bexpr);
+       void replaceBooleanWithTrueNoRemove(BooleanEdge bexpr);
        void replaceBooleanWithFalse(BooleanEdge bexpr);
        void replaceBooleanWithBoolean(BooleanEdge oldb, BooleanEdge newb);
        CSolver *clone();
+       void serialize();
        void autoTune(uint budget);
 
        void setTuner(Tuner *_tuner) { tuner = _tuner; }
@@ -150,6 +152,10 @@ private:
        void handleIFFTrue(BooleanLogic *bexpr, BooleanEdge child);
        void handleANDTrue(BooleanLogic *bexpr, BooleanEdge child);
 
+       //These two functions are helpers if the client has a pointer to a
+       //Boolean object that we have since replaced
+       BooleanEdge rewriteLogicalOperation(LogicOp op, BooleanEdge *array, uint asize);
+       BooleanEdge doRewrite(BooleanEdge b);
        /** This is a vector of constraints that must be satisfied. */
        HashsetBooleanEdge constraints;