34template<
typename Type>
auto getTypeName() ->
std::string {
35 return abi::__cxa_demangle(
typeid(Type).name(),
nullptr,
nullptr,
nullptr);
38template<
typename Type>
auto getTypeName(
const Type &_) ->
std::string {
40 return abi::__cxa_demangle(
typeid(Type).name(),
nullptr,
nullptr,
nullptr);
43inline auto getTypeName(
const std::type_info *type) ->
std::string {
44 return abi::__cxa_demangle(type->name(),
nullptr,
nullptr,
nullptr);
48 const std::regex split_regex(delimiter);
49 std::sregex_token_iterator iter(str.begin(), str.end(), split_regex, -1);
50 const std::sregex_token_iterator end;
54 if (! current.empty()) {
55 result.push_back(current);