Adding new API for defining an order constraint on two orders...
[satune.git] / src / classlist.h
1 /*      Copyright (c) 2015 Regents of the University of California
2  *
3  *      Author: Brian Demsky <bdemsky@uci.edu>
4  *
5  *      This program is free software; you can redistribute it and/or
6  *      modify it under the terms of the GNU General Public License
7  *      version 2 as published by the Free Software Foundation.
8  */
9
10 #ifndef CLASSLIST_H
11 #define CLASSLIST_H
12
13 #include "mymemory.h"
14 #include <inttypes.h>
15 #define bool int
16 #define true 1
17 #define false 0
18
19 struct CSolver;
20 typedef struct CSolver CSolver;
21 struct SATEncoder;
22 typedef struct SATEncoder SATEncoder;
23
24 typedef struct BooleanOrder BooleanOrder;
25 typedef struct BooleanInterOrder BooleanInterOrder;
26 typedef struct BooleanVar BooleanVar;
27 typedef struct BooleanLogic BooleanLogic;
28 typedef struct BooleanPredicate BooleanPredicate;
29
30 struct ASTNode;
31 typedef struct ASTNode ASTNode;
32
33 struct Boolean;
34 typedef struct Boolean Boolean;
35
36 struct IncrementalSolver;
37 typedef struct IncrementalSolver IncrementalSolver;
38
39 struct Set;
40 typedef struct Set Set;
41 typedef struct Set MutableSet;
42
43 typedef struct ElementFunction ElementFunction;
44 typedef struct ElementSet ElementSet;
45 typedef struct ElementConst ElementConst;
46
47 struct Element;
48 typedef struct Element Element;
49
50 typedef struct FunctionOperator FunctionOperator;
51 typedef struct FunctionTable FunctionTable;
52
53 struct Function;
54 typedef struct Function Function;
55
56 struct Predicate;
57 typedef struct Predicate Predicate;
58
59 struct PredicateTable;
60 typedef struct PredicateTable PredicateTable;
61
62 struct PredicateOperator;
63 typedef struct PredicateOperator PredicateOperator;
64
65 struct Table;
66 typedef struct Table Table;
67
68 struct Order;
69 typedef struct Order Order;
70
71 struct OrderPair;
72 typedef struct OrderPair OrderPair;
73
74 struct ElementEncoding;
75 typedef struct ElementEncoding ElementEncoding;
76
77 struct FunctionEncoding;
78 typedef struct FunctionEncoding FunctionEncoding;
79
80 struct OrderEncoding;
81 typedef struct OrderEncoding OrderEncoding;
82
83 struct TableEntry;
84 typedef struct TableEntry TableEntry;
85
86 struct OrderGraph;
87 typedef struct OrderGraph OrderGraph;
88
89 struct OrderNode;
90 typedef struct OrderNode OrderNode;
91
92 struct OrderEdge;
93 typedef struct OrderEdge OrderEdge;
94
95 typedef unsigned int uint;
96 typedef uint64_t VarType;
97 #endif