Quellcode durchsuchen

meta: removed meta_type::is_array (no alternative provided)

Michele Caini vor 4 Jahren
Ursprung
Commit
2aa34f05d3
4 geänderte Dateien mit 8 neuen und 61 gelöschten Zeilen
  1. 0 8
      src/entt/meta/meta.hpp
  2. 8 10
      src/entt/meta/node.hpp
  3. 0 39
      test/entt/meta/meta_data.cpp
  4. 0 4
      test/entt/meta/meta_type.cpp

+ 0 - 8
src/entt/meta/meta.hpp

@@ -1107,14 +1107,6 @@ public:
         return !!(node->traits & internal::meta_traits::IS_ARITHMETIC);
     }
 
-    /**
-     * @brief Checks whether a type refers to an array type or not.
-     * @return True if the underlying type is an array type, false otherwise.
-     */
-    [[nodiscard]] bool is_array() const ENTT_NOEXCEPT {
-        return !!(node->traits & internal::meta_traits::IS_ARRAY);
-    }
-
     /**
      * @brief Checks whether a type refers to an enum or not.
      * @return True if the underlying type is an enum, false otherwise.

+ 8 - 10
src/entt/meta/node.hpp

@@ -36,15 +36,14 @@ enum class meta_traits: std::uint32_t {
     IS_CONST = 0x0001,
     IS_STATIC = 0x0002,
     IS_ARITHMETIC = 0x0004,
-    IS_ARRAY = 0x0008,
-    IS_ENUM = 0x0010,
-    IS_CLASS = 0x0020,
-    IS_POINTER = 0x0040,
-    IS_MEMBER_OBJECT_POINTER = 0x0080,
-    IS_MEMBER_FUNCTION_POINTER = 0x0100,
-    IS_META_POINTER_LIKE = 0x0200,
-    IS_META_SEQUENCE_CONTAINER = 0x0400,
-    IS_META_ASSOCIATIVE_CONTAINER = 0x0800,
+    IS_ENUM = 0x0008,
+    IS_CLASS = 0x0010,
+    IS_POINTER = 0x0020,
+    IS_MEMBER_OBJECT_POINTER = 0x0040,
+    IS_MEMBER_FUNCTION_POINTER = 0x0080,
+    IS_META_POINTER_LIKE = 0x0100,
+    IS_META_SEQUENCE_CONTAINER = 0x0200,
+    IS_META_ASSOCIATIVE_CONTAINER = 0x0400,
     _entt_enum_as_bitmask
 };
 
@@ -176,7 +175,6 @@ public:
             size_of_v<Type>,
             internal::meta_traits::IS_NONE
                 | (std::is_arithmetic_v<Type> ? internal::meta_traits::IS_ARITHMETIC : internal::meta_traits::IS_NONE)
-                | (std::is_array_v<Type> ? internal::meta_traits::IS_ARRAY : internal::meta_traits::IS_NONE)
                 | (std::is_enum_v<Type> ? internal::meta_traits::IS_ENUM : internal::meta_traits::IS_NONE)
                 | (std::is_class_v<Type> ? internal::meta_traits::IS_CLASS : internal::meta_traits::IS_NONE)
                 | (std::is_pointer_v<Type> ? internal::meta_traits::IS_POINTER : internal::meta_traits::IS_NONE)

+ 0 - 39
test/entt/meta/meta_data.cpp

@@ -63,11 +63,6 @@ struct setter_getter_t {
     int value;
 };
 
-struct array_t {
-    static inline int global[3];
-    int local[5];
-};
-
 enum class property_t {
     random,
     value
@@ -110,11 +105,6 @@ struct MetaData: ::testing::Test {
             .data<nullptr, &setter_getter_t::getter>("z_ro"_hs)
             .data<nullptr, &setter_getter_t::value>("value"_hs);
 
-        entt::meta<array_t>()
-            .type("array"_hs)
-            .data<&array_t::global>("global"_hs)
-            .data<&array_t::local>("local"_hs);
-
         base_t::counter = 0;
     }
 
@@ -454,35 +444,6 @@ TEST_F(MetaData, ConstInstance) {
     ASSERT_FALSE(entt::resolve<clazz_t>().data("j"_hs).set(std::as_const(instance), 3));
 }
 
-TEST_F(MetaData, ArrayStatic) {
-    using namespace entt::literals;
-
-    auto data = entt::resolve<array_t>().data("global"_hs);
-
-    ASSERT_TRUE(data);
-    ASSERT_EQ(data.type(), entt::resolve<int[3]>());
-    ASSERT_EQ(data.id(), "global"_hs);
-    ASSERT_FALSE(data.is_const());
-    ASSERT_TRUE(data.is_static());
-    ASSERT_TRUE(data.type().is_array());
-    ASSERT_FALSE(data.get({}));
-}
-
-TEST_F(MetaData, Array) {
-    using namespace entt::literals;
-
-    auto data = entt::resolve<array_t>().data("local"_hs);
-    array_t instance{};
-
-    ASSERT_TRUE(data);
-    ASSERT_EQ(data.type(), entt::resolve<int[5]>());
-    ASSERT_EQ(data.id(), "local"_hs);
-    ASSERT_FALSE(data.is_const());
-    ASSERT_FALSE(data.is_static());
-    ASSERT_TRUE(data.type().is_array());
-    ASSERT_FALSE(data.get(instance));
-}
-
 TEST_F(MetaData, AsVoid) {
     using namespace entt::literals;
 

+ 0 - 4
test/entt/meta/meta_type.cpp

@@ -215,10 +215,6 @@ TEST_F(MetaType, Traits) {
     ASSERT_TRUE(entt::resolve<double>().is_arithmetic());
     ASSERT_FALSE(entt::resolve<clazz_t>().is_arithmetic());
 
-    ASSERT_TRUE(entt::resolve<int[5]>().is_array());
-    ASSERT_TRUE(entt::resolve<int[5][3]>().is_array());
-    ASSERT_FALSE(entt::resolve<int>().is_array());
-
     ASSERT_TRUE(entt::resolve<property_t>().is_enum());
     ASSERT_FALSE(entt::resolve<char>().is_enum());