CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
classNameFinder.h
Go to the documentation of this file.
1 #ifndef classNameFinder_h
2 #define classNameFinder_h
3 
4 #include <string>
5 #include <typeinfo>
6 #include <cxxabi.h>
7 
8 template <class T>
10  int status2 = 0;
11  char *dm2 = abi::__cxa_demangle(typeid(T).name(), nullptr, nullptr, &status2);
12  std::string s2 = "failed demangle";
13  if (status2 == 0) {
14  s2 = std::string(dm2);
15  }
16  return (fName + std::string("< ") + s2 + std::string(" >"));
17 }
18 
19 template <class T>
21  int status2 = 0;
22  char *dm2 = abi::__cxa_demangle(typeid(T).name(), nullptr, nullptr, &status2);
23  std::string s2 = "failed demangle";
24  if (status2 == 0) {
25  s2 = std::string(dm2);
26  }
27  return s2;
28 }
29 
30 #endif
std::string templateNameFinder()
std::string classNameFinder(std::string fName)
long double T