CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 public:
25  explicit
26  MethodSetter(MethodStack& methStack, LazyMethodStack& lazyMethStack,
27  TypeStack& typeStack, MethodArgumentStack& intStack,
28  bool lazy = false)
29  : methStack_(methStack)
30  , lazyMethStack_(lazyMethStack)
31  , typeStack_(typeStack)
32  , intStack_(intStack)
33  , lazy_(lazy)
34  {
35  }
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>&,
67  const char*, bool deep = true) const;
68 };
69 
70 } // namespace parser
71 } // namespace reco
72 
73 #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:65
std::vector< LazyInvoker > LazyMethodStack
Definition: MethodStack.h:18
LazyMethodStack & lazyMethStack_
Definition: MethodSetter.h:20
void operator()(const char *, const char *) const
Definition: MethodSetter.cc:17
std::vector< MethodInvoker > MethodStack
Definition: MethodStack.h:17
MethodSetter(MethodStack &methStack, LazyMethodStack &lazyMethStack, TypeStack &typeStack, MethodArgumentStack &intStack, bool lazy=false)
Definition: MethodSetter.h:26