CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MethodSetter.h
Go to the documentation of this file.
1 #ifndef CommonTools_Utils_MethodSetter_h
2 #define CommonTools_Utils_MethodSetter_h
3 
4 /* \class reco::parser::MethodSetter
5  *
6  * \author Luca Lista, INFN
7  *
8  */
9 
13 
14 namespace reco {
15  namespace parser {
16 
17  class MethodSetter {
18  private:
23  bool lazy_;
24 
25  public:
26  explicit MethodSetter(MethodStack& methStack,
27  LazyMethodStack& lazyMethStack,
28  TypeStack& typeStack,
29  MethodArgumentStack& intStack,
30  bool lazy = false)
31  : methStack_(methStack),
32  lazyMethStack_(lazyMethStack),
33  typeStack_(typeStack),
34  intStack_(intStack),
35  lazy_(lazy) {}
36 
37  void operator()(const char*, const char*) const;
38 
63  // a 'get' on the stack
66  bool push(const std::string&, const std::vector<AnyMethodArgument>&, const char*, bool deep = true) const;
67  };
68 
69  } // namespace parser
70 } // namespace reco
71 
72 #endif // CommonTools_Utils_MethodSetter_h
MethodArgumentStack & intStack_
Definition: MethodSetter.h:22
std::vector< edm::TypeWithDict > TypeStack
Definition: TypeStack.h:17
std::vector< AnyMethodArgument > MethodArgumentStack
bool push(const std::string &, const std::vector< AnyMethodArgument > &, const char *, bool deep=true) const
Definition: MethodSetter.cc:57
std::vector< LazyInvoker > LazyMethodStack
Definition: MethodStack.h:18
LazyMethodStack & lazyMethStack_
Definition: MethodSetter.h:20
void operator()(const char *, const char *) const
Definition: MethodSetter.cc:15
std::vector< MethodInvoker > MethodStack
Definition: MethodStack.h:17
MethodSetter(MethodStack &methStack, LazyMethodStack &lazyMethStack, TypeStack &typeStack, MethodArgumentStack &intStack, bool lazy=false)
Definition: MethodSetter.h:26