Fix Tuner framework to be OO
[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
16 class CSolver;
17 struct SATEncoder;
18 typedef struct SATEncoder SATEncoder;
19
20 class Boolean;
21 class BooleanOrder;
22 class BooleanVar;
23 class BooleanLogic;
24 class BooleanPredicate;
25 class ASTNode;
26 class Set;
27 class MutableSet;
28
29 class ElementFunction;
30 class ElementSet;
31 class ElementConst;
32 class Element;
33
34 class FunctionOperator;
35 class FunctionTable;
36 class Function;
37
38 class Predicate;
39 class PredicateTable;
40 class PredicateOperator;
41 class Table;
42 class Order;
43 class OrderPair;
44
45 class OrderElement;
46
47 class ElementEncoding;
48 class FunctionEncoding;
49 class OrderEncoding;
50
51 class OrderGraph;
52 class OrderNode;
53 class OrderEdge;
54
55
56 struct IncrementalSolver;
57 typedef struct IncrementalSolver IncrementalSolver;
58
59 struct TableEntry;
60 typedef struct TableEntry TableEntry;
61
62 struct OrderEncoder;
63 typedef struct OrderEncoder OrderEncoder;
64
65 class Tuner;
66 class TunableDesc;
67
68 typedef int TunableParam;
69
70 typedef unsigned int uint;
71 typedef long int int64;
72 typedef uint64_t VarType;
73 #endif