Line data Source code
1 : #ifndef ERROR_HANDLER_MA_DOMAIN_EXPR_H
2 : #define ERROR_HANDLER_MA_DOMAIN_EXPR_H
3 :
4 : // from novadaq
5 : #include "ErrorHandler/MessageAnalyzer/ma_condition.h"
6 : #include "ErrorHandler/MessageAnalyzer/ma_domain_andexpr.h"
7 : #include "ErrorHandler/MessageAnalyzer/ma_types.h"
8 :
9 : // from ups
10 :
11 : // from system
12 :
13 : namespace novadaq {
14 : namespace errorhandler {
15 :
16 : // an domain expression is a collection of domain and-expressions
17 : // connected with 'OR' operator
18 : // e.g.: domain_expr = and_expr_1 OR and_expr_2 OR ...
19 :
20 : class ma_domain_expr
21 : {
22 : public:
23 : ma_domain_expr();
24 :
25 : void evaluate(ma_domains& domains) const;
26 :
27 0 : bool empty() const { return andexprs.empty(); }
28 :
29 0 : void insert_andexpr(ma_domain_andexpr const& andexpr)
30 : {
31 0 : andexprs.push_back(andexpr);
32 0 : }
33 :
34 : private:
35 : // all conditions in the parent rule
36 : // cond_vec_t const & conditions;
37 :
38 : // list of and-expressions
39 : domain_andexprs_t andexprs;
40 : };
41 :
42 : } // end of namespace errorhandler
43 : } // end of namespace novadaq
44 :
45 : #endif
|