CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
StringToEnumValue.h
Go to the documentation of this file.
1 #ifndef _CommonTools_Utils_StringToEnumValue_h_
2 #define _CommonTools_Utils_StringToEnumValue_h_
3 
4 
7 #include <string>
8 #include <sstream>
9 #include <vector>
10 
11 
24 template <class MyType>
25 int StringToEnumValue(const std::string & enumMemberName){
26  edm::TypeWithDict dataType(typeid(MyType), kIsEnum);
27  return dataType.stringToEnumValue(enumMemberName);
28 }
29 
30 
52 template <class MyType>
53 std::vector<int> StringToEnumValue(const std::vector<std::string> & enumNames){
54 
55  using std::vector;
56  using std::string;
57 
58  vector<int> ret;
59  vector<string>::const_iterator str=enumNames.begin();
60  for (;str!=enumNames.end();++str){
61  ret.push_back( StringToEnumValue<MyType>(*str));
62  }
63  return ret;
64 
65 } //
66 
67 #endif
int stringToEnumValue(std::string const &enumMemberName) const
int StringToEnumValue(const std::string &enumMemberName)