OOP representation of Transforms
[satune.git] / src / ASTTransform / transform.h
index 44b431aa8b932c95ba54a71810ec3baba42fb2be..65d8119e7ea91d11dda5ad8d640b3aa3075eb54c 100644 (file)
 #include "classlist.h"
 #include "mymemory.h"
 #include "structs.h"
+#include "pass.h"
 
-class Transform {
+class Transform : public Pass{
 public:
-       Transform();
-       ~Transform();
-       void orderIntegerEncodingSATEncoder(CSolver *This, BooleanOrder *boolOrder);
-       MEMALLOC;
-private:
-       HashTableOrderIntegerEncoding* orderIntegerEncoding;
+       Transform(CSolver* _solver,Tunables _tunable, TunableDesc* _desc);
+       virtual ~Transform();
+       virtual bool canExecuteTransform() = 0;
+       virtual void doTransform() = 0;
+protected:
+       // Need solver for translating back the result ...
+       CSolver* solver;
 };
 
 #endif /* TRANSFORM_H */