27 lines
516 B
C++
27 lines
516 B
C++
#pragma once
|
|
|
|
#include <cxxabi.h>
|
|
#include <string>
|
|
|
|
namespace sp {
|
|
|
|
template <typename T>
|
|
std::string GetClassName(const T& a_Value) {
|
|
int status;
|
|
char* demangled = abi::__cxa_demangle(typeid(a_Value).name(), 0, 0, &status);
|
|
if (status != 0)
|
|
return "";
|
|
return std::string(demangled);
|
|
}
|
|
|
|
template <typename T>
|
|
std::string GetClassName() {
|
|
int status;
|
|
char* demangled = abi::__cxa_demangle(typeid(T).name(), 0, 0, &status);
|
|
if (status != 0)
|
|
return "";
|
|
return std::string(demangled);
|
|
}
|
|
|
|
} // namespace sp
|