9f4246e953a94cde78b88d55dc331016a501222f
[c11tester.git] / predicate.cc
1 #include "predicate.h"
2
3 inline bool operator==(const predicate_expr& expr_A, const predicate_expr& expr_B)
4 {
5         if (expr_A.token != expr_B.token)
6                 return false;
7
8         if (expr_A.token == EQUALITY && expr_A.location != expr_B.location)
9                 return false;
10
11         if (expr_A.value != expr_B.value)
12                 return false;
13
14         return true;
15 }
16
17 void Predicate::add_predicate(predicate_expr predicate)
18 {
19         ModelList<predicate_expr>::iterator it;
20         for (it = predicates.begin(); it != predicates.end(); it++) {
21                 if (predicate == *it)
22                         return;
23         }
24
25         predicates.push_back(predicate);
26 }