21 if constexpr (
requires { T::MSGPACK_SCHEMA_NAME; }) {
22 return T::MSGPACK_SCHEMA_NAME;
24 char* result_cstr = abi::__cxa_demangle(
typeid(T).name(),
nullptr,
nullptr,
nullptr);
25 std::string result = result_cstr;
26 if (result.find(
"basic_string") != std::string::npos) {
33 if (result.find(
'<') !=
static_cast<size_t>(-1)) {
34 result = result.substr(0, result.find(
'<'));
36 if (result.rfind(
':') !=
static_cast<size_t>(-1)) {
37 result = result.substr(result.rfind(
':') + 1, result.size());