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);
31 class PredicateTable : public Predicate {
33 PredicateTable(Table *table, UndefinedBehavior undefBehavior);
34 Predicate *clone(CSolver *solver, CloneMap *map);
35 virtual void serialize(Serializer* serializer);
37 UndefinedBehavior undefinedbehavior;