12 Predicate(PredicateType _type) : type(_type) {}
13 virtual ~Predicate() {}
14 virtual Predicate *clone(CSolver *solver, CloneMap *map) {ASSERT(0); return NULL;}
15 virtual void serialize(Serializer *serializer) = 0;
16 virtual void print() = 0;
21 class PredicateOperator : public Predicate {
23 PredicateOperator(CompOp op);
24 bool evalPredicateOperator(uint64_t *inputs);
25 Predicate *clone(CSolver *solver, CloneMap *map);
26 virtual void serialize(Serializer *serializer);
28 CompOp getOp() {return op;}
34 class PredicateTable : public Predicate {
36 PredicateTable(Table *table, UndefinedBehavior undefBehavior);
37 Predicate *clone(CSolver *solver, CloneMap *map);
38 virtual void serialize(Serializer *serializer);
41 UndefinedBehavior undefinedbehavior;