11 std::string
Demangle(
const std::string& name,
const bool simplify_output)
13#ifdef DEMANGLE_AVAILABLE
15 std::unique_ptr<char, void(*)(
void*)> result{
16 abi::__cxa_demangle(name.c_str(), NULL, NULL, &status),
20 const std::string demangled = status == 0 ? std::string(result.get()) : name;
22 const std::string& demangled = name;
29 std::string output = demangled.substr(0, demangled.find(
'<'));
30 size_t match_pos = output.find(
"::");
31 if (match_pos != std::string::npos)
33 output = output.substr(match_pos + 2);
35 match_pos = output.find(
"class ");
36 if (match_pos != std::string::npos)
38 output = output.substr(match_pos + 6);