* removed meta_type::is_member_object_pointer (no alternative provided)
* removed meta_type::is_member_function_pointer (no alternative provided)
This commit is contained in:
Michele Caini
2021-08-10 15:39:26 +02:00
parent 2aa34f05d3
commit d1ff491010
3 changed files with 0 additions and 29 deletions

View File

@@ -1131,25 +1131,6 @@ public:
return !!(node->traits & internal::meta_traits::IS_POINTER);
}
/**
* @brief Checks whether a type refers to a pointer to data member or not.
* @return True if the underlying type is a pointer to data member, false
* otherwise.
*/
[[nodiscard]] bool is_member_object_pointer() const ENTT_NOEXCEPT {
return !!(node->traits & internal::meta_traits::IS_MEMBER_OBJECT_POINTER);
}
/**
* @brief Checks whether a type refers to a pointer to member function or
* not.
* @return True if the underlying type is a pointer to member function,
* false otherwise.
*/
[[nodiscard]] bool is_member_function_pointer() const ENTT_NOEXCEPT {
return !!(node->traits & internal::meta_traits::IS_MEMBER_FUNCTION_POINTER);
}
/**
* @brief Checks whether a type is a pointer-like type or not.
* @return True if the underlying type is a pointer-like one, false

View File

@@ -39,8 +39,6 @@ enum class meta_traits: std::uint32_t {
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,
@@ -178,8 +176,6 @@ public:
| (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)
| (std::is_member_object_pointer_v<Type> ? internal::meta_traits::IS_MEMBER_OBJECT_POINTER : internal::meta_traits::IS_NONE)
| (std::is_member_function_pointer_v<Type> ? internal::meta_traits::IS_MEMBER_FUNCTION_POINTER : internal::meta_traits::IS_NONE)
| (is_meta_pointer_like_v<Type> ? internal::meta_traits::IS_META_POINTER_LIKE : internal::meta_traits::IS_NONE)
| (is_complete_v<meta_sequence_container_traits<Type>> ? internal::meta_traits::IS_META_SEQUENCE_CONTAINER : internal::meta_traits::IS_NONE)
| (is_complete_v<meta_associative_container_traits<Type>> ? internal::meta_traits::IS_META_ASSOCIATIVE_CONTAINER : internal::meta_traits::IS_NONE),

View File

@@ -224,12 +224,6 @@ TEST_F(MetaType, Traits) {
ASSERT_TRUE(entt::resolve<int *>().is_pointer());
ASSERT_FALSE(entt::resolve<int>().is_pointer());
ASSERT_TRUE(entt::resolve<decltype(&clazz_t::value)>().is_member_object_pointer());
ASSERT_FALSE(entt::resolve<decltype(&clazz_t::member)>().is_member_object_pointer());
ASSERT_TRUE(entt::resolve<decltype(&clazz_t::member)>().is_member_function_pointer());
ASSERT_FALSE(entt::resolve<decltype(&clazz_t::value)>().is_member_function_pointer());
ASSERT_TRUE(entt::resolve<int *>().is_pointer_like());
ASSERT_TRUE(entt::resolve<std::shared_ptr<int>>().is_pointer_like());
ASSERT_FALSE(entt::resolve<int>().is_pointer_like());