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;
20 class PredicateOperator : public Predicate {
22 PredicateOperator(CompOp op, Set **domain, uint numDomain);
23 bool evalPredicateOperator(uint64_t *inputs);
24 Predicate *clone(CSolver *solver, CloneMap *map);
25 virtual void serialize(Serializer* serializer);
27 CompOp getOp() {return op;}
33 class PredicateTable : public Predicate {
35 PredicateTable(Table *table, UndefinedBehavior undefBehavior);
36 Predicate *clone(CSolver *solver, CloneMap *map);
37 virtual void serialize(Serializer* serializer);
39 UndefinedBehavior undefinedbehavior;