type_id: type_info from variable
This commit is contained in:
@@ -262,6 +262,12 @@ template<typename Type>
|
||||
}
|
||||
}
|
||||
|
||||
/*! @copydoc type_id */
|
||||
template<typename Type>
|
||||
[[nodiscard]] const type_info &type_id(Type &&) ENTT_NOEXCEPT {
|
||||
return type_id<std::remove_cv_t<std::remove_reference_t<Type>>>();
|
||||
}
|
||||
|
||||
} // namespace entt
|
||||
|
||||
#endif
|
||||
|
||||
@@ -48,6 +48,11 @@ TEST(TypeInfo, Functionalities) {
|
||||
static_assert(std::is_copy_assignable_v<entt::type_info>);
|
||||
static_assert(std::is_move_assignable_v<entt::type_info>);
|
||||
|
||||
const int value = 42;
|
||||
|
||||
ASSERT_EQ(entt::type_id(value), entt::type_id<int>());
|
||||
ASSERT_EQ(entt::type_id(42), entt::type_id<int>());
|
||||
|
||||
ASSERT_EQ(entt::type_id<int>(), entt::type_id<int>());
|
||||
ASSERT_EQ(entt::type_id<int &>(), entt::type_id<int &&>());
|
||||
ASSERT_EQ(entt::type_id<int &>(), entt::type_id<int>());
|
||||
|
||||
Reference in New Issue
Block a user