File indexing completed on 2024-04-06 12:01:17
0001 #ifndef CommonTools_Utils_BinaryCutSetter_h
0002 #define CommonTools_Utils_BinaryCutSetter_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "CommonTools/Utils/interface/parser/SelectorStack.h"
0014 #include "CommonTools/Utils/interface/parser/LogicalBinaryOperator.h"
0015
0016 namespace reco {
0017 namespace parser {
0018 template <typename Op>
0019 struct BinaryCutSetter {
0020 BinaryCutSetter(SelectorStack& selStack) : selStack_(selStack) {}
0021 void operator()(const char*, const char*) const {
0022 selStack_.push_back(SelectorPtr(new LogicalBinaryOperator<Op>(selStack_)));
0023 }
0024 void operator()(const char&) const {
0025 const char* c;
0026 operator()(c, c);
0027 }
0028 SelectorStack& selStack_;
0029 };
0030 }
0031 }
0032
0033 #endif