CMS 3D CMS Logo

TriggerExpressionEvaluator.h
Go to the documentation of this file.
1 #ifndef HLTrigger_HLTfilters_TriggerExpressionEvaluator_h
2 #define HLTrigger_HLTfilters_TriggerExpressionEvaluator_h
3 
4 #include <iostream>
5 
6 namespace triggerExpression {
7 
8  class Data;
9 
10  class Evaluator {
11  public:
12  Evaluator() {}
13 
14  // pure virtual, need a concrete implementation
15  virtual bool operator()(const Data& data) const = 0;
16 
17  // virtual function, do nothing unless overridden
18  virtual void init(const Data& data) {}
19 
20  // pure virtual, need a concrete implementation
21  virtual void dump(std::ostream& out) const = 0;
22 
23  // virtual destructor
24  virtual ~Evaluator() {}
25  };
26 
27  inline std::ostream& operator<<(std::ostream& out, const Evaluator& eval) {
28  eval.dump(out);
29  return out;
30  }
31 
32 } // namespace triggerExpression
33 
34 #endif // HLTrigger_HLTfilters_TriggerExpressionEvaluator_h
triggerExpression::Evaluator::operator()
virtual bool operator()(const Data &data) const =0
triggerExpression::Evaluator
Definition: TriggerExpressionEvaluator.h:10
triggerExpression::Evaluator::dump
virtual void dump(std::ostream &out) const =0
triggerExpression::Data
Definition: TriggerExpressionData.h:22
triggerExpression::operator<<
std::ostream & operator<<(std::ostream &out, const Evaluator &eval)
Definition: TriggerExpressionEvaluator.h:27
triggerExpression
Definition: TriggerExpressionConstant.h:6
triggerExpression::Evaluator::init
virtual void init(const Data &data)
Definition: TriggerExpressionEvaluator.h:18
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
triggerExpression::Evaluator::~Evaluator
virtual ~Evaluator()
Definition: TriggerExpressionEvaluator.h:24
triggerExpression::Evaluator::Evaluator
Evaluator()
Definition: TriggerExpressionEvaluator.h:12