ExpressionBase

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#ifndef Parser_ExpressionBase_h
#define Parser_ExpressionBase_h
/* \class reco::parser::ExpressionBase
 *
 * Base class for parsed expressions
 *
 * \author original version: Chris Jones, Cornell, 
 *         adapted by Luca Lista, INFN
 *
 */

#include <vector>
#include <memory>

namespace edm {
  class ObjectWithDict;
}

namespace reco {
  namespace parser {
    struct ExpressionBase {
      virtual ~ExpressionBase() {}
      virtual double value(const edm::ObjectWithDict&) const = 0;
    };
    typedef std::shared_ptr<ExpressionBase> ExpressionPtr;
  }  // namespace parser
}  // namespace reco

#endif