diff --git a/src/entt/core/enum.hpp b/src/entt/core/enum.hpp index 10304978e..c732940bd 100644 --- a/src/entt/core/enum.hpp +++ b/src/entt/core/enum.hpp @@ -48,19 +48,19 @@ concept enum_bitmask = std::is_enum_v && enum_as_bitmask_v; */ template [[nodiscard]] constexpr Type operator|(const Type lhs, const Type rhs) noexcept { - return static_cast(static_cast>(lhs) | static_cast>(rhs)); + return static_cast(static_cast>(lhs) | static_cast>(rhs)); } /*! @copydoc operator| */ template [[nodiscard]] constexpr Type operator&(const Type lhs, const Type rhs) noexcept { - return static_cast(static_cast>(lhs) & static_cast>(rhs)); + return static_cast(static_cast>(lhs) & static_cast>(rhs)); } /*! @copydoc operator| */ template [[nodiscard]] constexpr Type operator^(const Type lhs, const Type rhs) noexcept { - return static_cast(static_cast>(lhs) ^ static_cast>(rhs)); + return static_cast(static_cast>(lhs) ^ static_cast>(rhs)); } /** @@ -72,13 +72,13 @@ template */ template [[nodiscard]] constexpr Type operator~(const Type value) noexcept { - return static_cast(~static_cast>(value)); + return static_cast(~static_cast>(value)); } /*! @copydoc operator~ */ template [[nodiscard]] constexpr bool operator!(const Type value) noexcept { - return !static_cast>(value); + return !static_cast>(value); } /*! @copydoc operator| */ diff --git a/src/entt/entity/entity.hpp b/src/entt/entity/entity.hpp index 201c3b28f..93afd7dde 100644 --- a/src/entt/entity/entity.hpp +++ b/src/entt/entity/entity.hpp @@ -21,9 +21,9 @@ struct entt_traits; template requires requires { requires std::is_enum_v; - typename internal::entt_traits>::value_type; + typename internal::entt_traits>::value_type; } -struct entt_traits: entt_traits> { +struct entt_traits: entt_traits> { using value_type = Type; }; diff --git a/src/entt/meta/node.hpp b/src/entt/meta/node.hpp index b82d24300..a82b5ab69 100644 --- a/src/entt/meta/node.hpp +++ b/src/entt/meta/node.hpp @@ -46,16 +46,16 @@ enum class meta_traits : std::uint32_t { template requires std::is_enum_v [[nodiscard]] auto meta_to_user_traits(const meta_traits traits) noexcept { - constexpr auto shift = std::popcount(static_cast>(meta_traits::_user_defined_traits)); - return Type{static_cast>(static_cast>(traits) >> shift)}; + constexpr auto shift = std::popcount(static_cast>(meta_traits::_user_defined_traits)); + return Type{static_cast>(static_cast>(traits) >> shift)}; } template requires std::is_enum_v [[nodiscard]] auto user_to_meta_traits(const Type value) noexcept { - constexpr auto shift = std::popcount(static_cast>(meta_traits::_user_defined_traits)); - const auto traits = static_cast>(static_cast>(value)); - ENTT_ASSERT(traits < ((~static_cast>(meta_traits::_user_defined_traits)) >> shift), "Invalid traits"); + constexpr auto shift = std::popcount(static_cast>(meta_traits::_user_defined_traits)); + const auto traits = static_cast>(static_cast>(value)); + ENTT_ASSERT(traits < ((~static_cast>(meta_traits::_user_defined_traits)) >> shift), "Invalid traits"); return meta_traits{traits << shift}; } @@ -240,7 +240,7 @@ auto setup_node_for() noexcept { }; } else if constexpr(std::is_enum_v) { node.conversion_helper = +[](void *lhs, const void *rhs) { - return lhs ? static_cast(*static_cast(lhs) = static_cast(static_cast>(*static_cast(rhs)))) : static_cast(*static_cast(rhs)); + return lhs ? static_cast(*static_cast(lhs) = static_cast(static_cast>(*static_cast(rhs)))) : static_cast(*static_cast(rhs)); }; } diff --git a/src/entt/stl/type_traits.hpp b/src/entt/stl/type_traits.hpp index 330bc9d43..72e8c3c1e 100644 --- a/src/entt/stl/type_traits.hpp +++ b/src/entt/stl/type_traits.hpp @@ -31,6 +31,7 @@ using std::remove_cvref_t; using std::remove_pointer_t; using std::remove_reference_t; using std::true_type; +using std::underlying_type_t; } // namespace entt::stl /*! @endcond */