type_info: full_type_name returns a non-null name in all cases
This commit is contained in:
@@ -22,17 +22,17 @@ struct ENTT_API type_index final {
|
||||
};
|
||||
|
||||
template<typename Type>
|
||||
[[nodiscard]] constexpr auto full_type_name() noexcept {
|
||||
[[nodiscard]] constexpr const char *full_type_name() noexcept {
|
||||
#if defined ENTT_PRETTY_FUNCTION
|
||||
return std::string_view{static_cast<const char *>(ENTT_PRETTY_FUNCTION)};
|
||||
return static_cast<const char *>(ENTT_PRETTY_FUNCTION);
|
||||
#else
|
||||
return std::string_view{};
|
||||
return "";
|
||||
#endif
|
||||
}
|
||||
|
||||
template<typename Type>
|
||||
[[nodiscard]] constexpr auto stripped_type_name() noexcept {
|
||||
const std::string_view full_name = full_type_name<Type>();
|
||||
const std::string_view full_name{full_type_name<Type>()};
|
||||
auto first = full_name.find_first_not_of(' ', full_name.find_first_of(ENTT_PRETTY_FUNCTION_PREFIX) + 1);
|
||||
auto value = full_name.substr(first, full_name.find_last_of(ENTT_PRETTY_FUNCTION_SUFFIX) - first);
|
||||
return value;
|
||||
|
||||
Reference in New Issue
Block a user