CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MethodArgumentSetter.h
Go to the documentation of this file.
1 #ifndef CommonTools_Utils_MethodArgumentSetter_h
2 #define CommonTools_Utils_MethodArgumentSetter_h
3 /* \class reco::parser::MethodArgumentSetter
4  *
5  * MethodArgumenteger setter
6  *
7  * \author Luca Lista, INFN
8  *
9  * \version $Revision: 1.1 $
10  *
11  */
13 #include <cassert>
14 
15 namespace reco {
16  namespace parser {
19  template<typename T>
20  void operator()(const T &n) const {
21  stack_.push_back( AnyMethodArgument(n) );
22  }
23  void operator()(const char *begin, const char *end) const {
24  assert(begin+1 <= end-1); // the quotes are included in [begin,end[ range.
25  stack_.push_back( AnyMethodArgument(std::string(begin+1,end-1)) );
26  }
27  private:
29  };
30  }
31 }
32 
33 #endif
std::vector< AnyMethodArgument > MethodArgumentStack
MethodArgumentSetter(MethodArgumentStack &stack)
stack
Definition: svgfig.py:558
#define end
Definition: vmac.h:38
boost::mpl::if_< matches_another_integral_type< unsigned long >, boost::variant< int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, double, float, std::string >, boost::variant< int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, unsigned long, double, float, std::string > >::type AnyMethodArgument
void operator()(const char *begin, const char *end) const
#define begin
Definition: vmac.h:31
long double T