From abbb3bf7ff4189c542bc4aa84d36ddb856932f58 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Thu, 19 Dec 2024 14:06:11 +0100 Subject: [PATCH] type_traits: internal changes --- src/entt/core/type_traits.hpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/entt/core/type_traits.hpp b/src/entt/core/type_traits.hpp index e022a24ee..104062977 100644 --- a/src/entt/core/type_traits.hpp +++ b/src/entt/core/type_traits.hpp @@ -749,12 +749,6 @@ struct has_value_type: std::false_type {}; template struct has_value_type>: std::true_type {}; -template -struct has_void_element_type: std::false_type {}; - -template -struct has_void_element_type::element_type>>: std::true_type {}; - template [[nodiscard]] constexpr bool dispatch_is_equality_comparable(); @@ -776,20 +770,20 @@ template template [[nodiscard]] constexpr bool dispatch_is_equality_comparable() { // NOLINTBEGIN(modernize-use-transparent-functors) - if constexpr(std::is_array_v || has_void_element_type::value) { + if constexpr(std::is_array_v) { return false; - } else if constexpr(!is_iterator_v && has_value_type::value) { - if constexpr(std::is_same_v || dispatch_is_equality_comparable()) { - return maybe_equality_comparable(0); - } else { - return false; - } } else if constexpr(is_complete_v>>) { if constexpr(has_tuple_size_value::value) { return maybe_equality_comparable(0) && unpack_maybe_equality_comparable(std::make_index_sequence::value>{}); } else { return maybe_equality_comparable(0); } + } else if constexpr(has_value_type::value) { + if constexpr(is_iterator_v || std::is_same_v || dispatch_is_equality_comparable()) { + return maybe_equality_comparable(0); + } else { + return false; + } } else { return maybe_equality_comparable(0); }