From f81f34e6fa47471f47fd42709faaa48a45ec25f8 Mon Sep 17 00:00:00 2001 From: skypjack Date: Thu, 15 Jan 2026 15:08:51 +0100 Subject: [PATCH] entity: constrained type instead of sfinae based design for traits --- src/entt/entity/entity.hpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/entt/entity/entity.hpp b/src/entt/entity/entity.hpp index 5dc32b72f..f17e96e9b 100644 --- a/src/entt/entity/entity.hpp +++ b/src/entt/entity/entity.hpp @@ -14,17 +14,20 @@ namespace entt { /*! @cond TURN_OFF_DOXYGEN */ namespace internal { -template +template struct entt_traits; template -struct entt_traits>> - : entt_traits> { + requires std::is_enum_v +struct entt_traits: entt_traits> { using value_type = Type; }; template -struct entt_traits>> + requires requires { typename Type::entity_type; } + && std::convertible_to + && std::constructible_from +struct entt_traits : entt_traits { using value_type = Type; };