File indexing completed on 2024-04-06 12:01:17
0001 #ifndef CommonTools_Utils_ExpressionVarSetter_h
0002 #define CommonTools_Utils_ExpressionVarSetter_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #include "CommonTools/Utils/interface/parser/ExpressionStack.h"
0014 #include "CommonTools/Utils/interface/parser/MethodStack.h"
0015 #include "CommonTools/Utils/interface/parser/TypeStack.h"
0016
0017 namespace reco {
0018 namespace parser {
0019 struct ExpressionVarSetter {
0020 ExpressionVarSetter(ExpressionStack &exprStack,
0021 MethodStack &methStack,
0022 LazyMethodStack &lazyMethStack,
0023 TypeStack &typeStack)
0024 : exprStack_(exprStack), methStack_(methStack), lazyMethStack_(lazyMethStack), typeStack_(typeStack) {}
0025 void operator()(const char *, const char *) const;
0026
0027 private:
0028 void push(const char *, const char *) const;
0029 void lazyPush(const char *, const char *) const;
0030
0031 ExpressionStack &exprStack_;
0032 MethodStack &methStack_;
0033 LazyMethodStack &lazyMethStack_;
0034 TypeStack &typeStack_;
0035 };
0036 }
0037 }
0038
0039 #endif