Go to the documentation of this file.00001 #ifndef CommonTools_Utils_MethodSetter_h
00002 #define CommonTools_Utils_MethodSetter_h
00003
00004
00005
00006
00007
00008
00009 #include "CommonTools/Utils/src/MethodStack.h"
00010 #include "CommonTools/Utils/src/TypeStack.h"
00011 #include "CommonTools/Utils/src/MethodArgumentStack.h"
00012
00013 namespace reco {
00014 namespace parser {
00015 struct MethodSetter {
00016 explicit MethodSetter(MethodStack & methStack, LazyMethodStack & lazyMethStack, TypeStack & typeStack,
00017 MethodArgumentStack & intStack, bool lazy=false) :
00018 methStack_(methStack), lazyMethStack_(lazyMethStack), typeStack_(typeStack),
00019 intStack_(intStack), lazy_(lazy) { }
00020 void operator()(const char *, const char *) const;
00034 bool push(const std::string&, const std::vector<AnyMethodArgument>&,const char*,bool deep=true) const;
00035 private:
00036 MethodStack & methStack_;
00037 LazyMethodStack & lazyMethStack_;
00038 TypeStack & typeStack_;
00039 MethodArgumentStack & intStack_;
00040 bool lazy_;
00041 };
00042 }
00043 }
00044
00045 #endif