22 #ifndef __M2ETIS_PUBSUB_FILTER_GETMINPREDICATESVISITOR_H__
23 #define __M2ETIS_PUBSUB_FILTER_GETMINPREDICATESVISITOR_H__
34 template <
typename EventType>
44 int operand1 = operand_stack_.top();
46 int operand2 = operand_stack_.top();
49 operand_stack_.push(operand1 + operand2);
53 int operand1 = operand_stack_.top();
55 int operand2 = operand_stack_.top();
58 operand_stack_.push((operand1 < operand2) ? operand1 : operand2);
62 operand_stack_.push(1);
66 return operand_stack_.empty() ? 0 : operand_stack_.top();
70 std::stack<int> operand_stack_;
virtual ~GetMinPredicatesVisitor()
virtual void Visit(const OrExp< EventType > *) override
virtual void Visit(const AndExp< EventType > *) override
virtual void Visit(const Predicate< EventType > *predicate) override
GetMinPredicatesVisitor()
virtual void Visit(const FilterExp< EventType > *) override