#define true 1
#define false 0
-struct CSolver;
-typedef struct CSolver CSolver;
+class CSolver;
struct SATEncoder;
typedef struct SATEncoder SATEncoder;
-
-struct Constraint;
-typedef struct Constraint Constraint;
-
-typedef struct BooleanOrder BooleanOrder;
-typedef struct BooleanVar BooleanVar;
-typedef struct BooleanLogic BooleanLogic;
-typedef struct BooleanPredicate BooleanPredicate;
-
-struct ASTNode;
-typedef struct ASTNode ASTNode;
-
-struct Boolean;
-typedef struct Boolean Boolean;
+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;
struct IncrementalSolver;
typedef struct IncrementalSolver IncrementalSolver;
-struct Set;
-typedef struct Set Set;
-typedef struct Set MutableSet;
-
-typedef struct ElementFunction ElementFunction;
-typedef struct ElementSet ElementSet;
-
-struct Element;
-typedef struct Element Element;
-
-typedef struct FunctionOperator FunctionOperator;
-typedef struct FunctionTable FunctionTable;
-
-struct Function;
-typedef struct Function Function;
-
-struct Predicate;
-typedef struct Predicate Predicate;
+struct OrderPair;
+typedef struct OrderPair OrderPair;
-struct PredicateTable;
-typedef struct PredicateTable PredicateTable;
-
-struct PredicateOperator;
-typedef struct PredicateOperator PredicateOperator;
-
-struct Table;
-typedef struct Table Table;
-
-struct Order;
-typedef struct Order Order;
+struct OrderElement;
+typedef struct OrderElement OrderElement;
struct ElementEncoding;
typedef struct ElementEncoding ElementEncoding;
struct TableEntry;
typedef struct TableEntry TableEntry;
+struct OrderGraph;
+typedef struct OrderGraph OrderGraph;
+
+struct OrderNode;
+typedef struct OrderNode OrderNode;
+
+struct OrderEdge;
+typedef struct OrderEdge OrderEdge;
+
+struct OrderEncoder;
+typedef struct OrderEncoder OrderEncoder;
+
+struct Tuner;
+typedef struct Tuner Tuner;
+struct TunableDesc;
+typedef struct TunableDesc TunableDesc;
+typedef int TunableParam;
+
typedef unsigned int uint;
+typedef long int int64;
typedef uint64_t VarType;
#endif