#include "mymemory.h"
#include <inttypes.h>
+#include "classes.h"
+#include "astnode.h"
-class CSolver;
-struct SATEncoder;
-typedef struct SATEncoder SATEncoder;
-class Boolean;
class BooleanOrder;
class BooleanVar;
-class BooleanLogic;
+
class BooleanPredicate;
class ASTNode;
-class Set;
-class MutableSet;
+
+
class ElementFunction;
class ElementSet;
class ElementConst;
-class Element;
class FunctionOperator;
class FunctionTable;
-class Function;
-class Predicate;
+
+
class PredicateTable;
class PredicateOperator;
-class Table;
-class Order;
-class OrderPair;
-
-struct IncrementalSolver;
-typedef struct IncrementalSolver IncrementalSolver;
+class OrderPair;
class OrderElement;
+class IntegerEncodingRecord;
+class Transform;
+class Pass;
+class Transformer;
+class AnalysisData;
class ElementEncoding;
class FunctionEncoding;
class OrderEncoding;
-struct TableEntry;
-typedef struct TableEntry TableEntry;
-
class OrderGraph;
class OrderNode;
class OrderEdge;
-struct OrderEncoder;
-typedef struct OrderEncoder OrderEncoder;
+class AutoTuner;
+class SearchTuner;
+class TunableSetting;
-struct Tuner;
-typedef struct Tuner Tuner;
-struct TunableDesc;
-typedef struct TunableDesc TunableDesc;
-typedef int TunableParam;
+class TunableDesc;
+
+class OrderResolver;
+class DecomposeOrderResolver;
+
+class EncodingGraph;
+class EncodingNode;
+class EncodingEdge;
-typedef unsigned int uint;
-typedef long int int64;
-typedef uint64_t VarType;
+struct IncrementalSolver;
+typedef struct IncrementalSolver IncrementalSolver;
+struct TableEntry;
+typedef struct TableEntry TableEntry;
+typedef int TunableParam;
#endif