Predicate(PredicateType _type) : type(_type) {}
virtual ~Predicate() {}
virtual Predicate *clone(CSolver *solver, CloneMap *map) {ASSERT(0); return NULL;}
+ virtual void serialize(Serializer* serializer) = 0;
PredicateType type;
CMEMALLOC;
};
PredicateOperator(CompOp op, Set **domain, uint numDomain);
bool evalPredicateOperator(uint64_t *inputs);
Predicate *clone(CSolver *solver, CloneMap *map);
- CompOp getOp() {return op;}
+ virtual void serialize(Serializer* serializer);
Array<Set *> domains;
+ CompOp getOp() {return op;}
CMEMALLOC;
private:
CompOp op;
public:
PredicateTable(Table *table, UndefinedBehavior undefBehavior);
Predicate *clone(CSolver *solver, CloneMap *map);
+ virtual void serialize(Serializer* serializer);
Table *table;
UndefinedBehavior undefinedbehavior;
CMEMALLOC;