6319a2ee23abbd29b97dcfd0938f00256fb501ff
[c11tester.git] / concretepredicate.h
1 #ifndef __CONCRETE_PREDICATE_H__
2 #define __CONCRETE_PREDICATE_H__
3
4 #include <inttypes.h>
5 #include "modeltypes.h"
6 #include "classlist.h"
7 #include "predicatetypes.h"
8
9 class ConcretePredicate {
10 public:
11         ConcretePredicate(thread_id_t tid);
12         ~ConcretePredicate();
13
14         void add_expression(token_t token, uint64_t value, bool equality);
15         SnapVector<struct concrete_pred_expr> * getExpressions() { return &expressions; }
16         void * get_location() { return location; }
17
18         SNAPSHOTALLOC
19 private:
20         thread_id_t tid;
21         void * location;
22         SnapVector<struct concrete_pred_expr> expressions;
23 };
24
25 #endif /* __CONCRETE_PREDICATE_H */