15 #ifndef RMW__IMPL__CPP__DEMANGLE_HPP_ 16 #define RMW__IMPL__CPP__DEMANGLE_HPP_ 43 #if !defined(_WIN32) || RMW_AVOID_MEMORY_ALLOCATION 45 std::string mangled_typeid_name =
typeid(T).name();
47 std::unique_ptr<char, void (*)(void *)> res {
48 abi::__cxa_demangle(mangled_typeid_name.c_str(), NULL, NULL, &status),
52 return (status == 0) ? res.get() : mangled_typeid_name;
54 return typeid(T).name();
62 #endif // RMW__IMPL__CPP__DEMANGLE_HPP_
std::string demangle(const T &instance)
Return the demangle name of the instance of type T.
Definition: demangle.hpp:39
Definition: demangle.hpp:29