CMS 3D CMS Logo

ClassName.cc
Go to the documentation of this file.
2 #include <cxxabi.h>
3 #include <cstring>
4 
5 Demangle::Demangle(const char* sc) : demangle(nullptr) {
6  if (sc == nullptr)
7  return;
8  int status;
9  demangle = abi::__cxa_demangle(sc, nullptr, nullptr, &status);
10  if (status == 0)
11  return;
12  demangle = nullptr;
13  if (status == -1)
14  throw std::bad_alloc();
15  else if (status == -2) {
16  demangle = strdup(sc);
17  }
18 }
Demangle(const char *sc)
Definition: ClassName.cc:5
char * demangle
Definition: ClassName.h:27