Keep sets sorted
[satune.git] / src / csolver.h
index 3ff8509b369bbd13249e8d48eaaa945c8e362679..480790832fbfea2d46875394e4bbe529e2e68e20 100644 (file)
@@ -26,7 +26,8 @@ public:
 
        /** This function adds a new item to a set. */
 
-       void addItem(MutableSet *set, uint64_t element);
+       //Deprecating this unless we need it...
+       //      void addItem(MutableSet *set, uint64_t element);
 
        /** This function adds a new unique item to the set and returns it.
            This function cannot be used in conjunction with manually adding
@@ -138,6 +139,7 @@ public:
        void replaceBooleanWithFalse(BooleanEdge bexpr);
        void replaceBooleanWithBoolean(BooleanEdge oldb, BooleanEdge newb);
        CSolver *clone();
+       void serialize();
        void autoTune(uint budget);
 
        void setTuner(Tuner *_tuner) { tuner = _tuner; }
@@ -151,6 +153,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;