Line data Source code
1 : #ifndef ERROR_HANDLER_MA_BOOLEAN_ANDEXPR_H
2 : #define ERROR_HANDLER_MA_BOOLEAN_ANDEXPR_H
3 :
4 : #include "ErrorHandler/MessageAnalyzer/ma_boolean_cond.h"
5 :
6 : #include <list>
7 :
8 : namespace novadaq {
9 : namespace errorhandler {
10 :
11 : /**
12 : * @brief boolean and-expression consists of a list of boolean elemental
13 : * conditions connected with 'AND' operator
14 : */
15 : class ma_boolean_andexpr
16 : {
17 : public:
18 : /// c'tor
19 0 : ma_boolean_andexpr() {}
20 :
21 : /// reset
22 : void reset();
23 :
24 : // evaluateion
25 : bool evaluate(ma_domain& value, ma_domain& alarm, ma_domain const& domain) const;
26 :
27 : // insert a boolean cond
28 0 : void insert(ma_boolean_cond const& cond)
29 : {
30 0 : conds.push_back(cond);
31 0 : }
32 :
33 : private:
34 : boolean_conds_t conds;
35 : };
36 :
37 : typedef std::list<ma_boolean_andexpr> boolean_andexprs_t; ///< List of ma_boolean_andexpr
38 :
39 : } // end of namespace errorhandler
40 : } // end of namespace novadaq
41 :
42 : #endif
|