17 if constexpr (
requires { T::MSGPACK_SCHEMA_NAME; }) {
18 return T::MSGPACK_SCHEMA_NAME;
20 char* result_cstr = abi::__cxa_demangle(
typeid(T).name(),
nullptr,
nullptr,
nullptr);
21 std::string result = result_cstr;
22 if (result.find(
"basic_string") != std::string::npos) {
29 if (result.find(
'<') !=
static_cast<size_t>(-1)) {
30 result = result.substr(0, result.find(
'<'));
32 if (result.rfind(
':') !=
static_cast<size_t>(-1)) {
33 result = result.substr(result.rfind(
':') + 1, result.size());