|
@@ -246,6 +246,12 @@ private:
|
|
|
* @return A reference to a properly initialized type info object.
|
|
* @return A reference to a properly initialized type info object.
|
|
|
*/
|
|
*/
|
|
|
template<typename Type>
|
|
template<typename Type>
|
|
|
|
|
+[[nodiscard]] const type_info &type_id(Type &&) noexcept {
|
|
|
|
|
+ return type_id<std::remove_cv_t<std::remove_reference_t<Type>>>();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/*! @copydoc type_id */
|
|
|
|
|
+template<typename Type>
|
|
|
[[nodiscard]] const type_info &type_id() noexcept {
|
|
[[nodiscard]] const type_info &type_id() noexcept {
|
|
|
if constexpr(std::is_same_v<Type, std::remove_cv_t<std::remove_reference_t<Type>>>) {
|
|
if constexpr(std::is_same_v<Type, std::remove_cv_t<std::remove_reference_t<Type>>>) {
|
|
|
static type_info instance{std::in_place_type<Type>};
|
|
static type_info instance{std::in_place_type<Type>};
|
|
@@ -255,12 +261,6 @@ template<typename Type>
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-/*! @copydoc type_id */
|
|
|
|
|
-template<typename Type>
|
|
|
|
|
-[[nodiscard]] const type_info &type_id(Type &&) noexcept {
|
|
|
|
|
- return type_id<std::remove_cv_t<std::remove_reference_t<Type>>>();
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
} // namespace entt
|
|
} // namespace entt
|
|
|
|
|
|
|
|
#endif
|
|
#endif
|