Fix tabbing on everything
[satune.git] / src / Encoders / functionencoder.h
1 #ifndef FUNCTIONENCODER_H
2 #define FUNCTIONENCODER_H
3 #include "classlist.h"
4
5 enum FunctionEncoderType {
6         ENUMERATEIMPLICATIONS, CIRCUIT
7 };
8
9 typedef enum FunctionEncoderType FunctionEncoderType;
10
11 union ElementPredicate {
12         Element * function;
13         Boolean * predicate;
14 };
15
16 typedef union ElementPredicate ElementPredicate;
17
18 struct FunctionEncoder {
19         FunctionEncoderType type;
20         bool isFunction;//true for function, false for predicate
21         ElementPredicate op;
22 };
23
24 FunctionEncoder * allocFunctionEncoder(FunctionEncoderType type, Element *function);
25 FunctionEncoder * allocPredicateEncoder(FunctionEncoderType type, Boolean *predicate);
26 void deleteFunctionEncoder(FunctionEncoder *this);
27 #endif