diff --git a/src/entt/meta/meta.hpp b/src/entt/meta/meta.hpp index e5851c9ad..d02c94799 100644 --- a/src/entt/meta/meta.hpp +++ b/src/entt/meta/meta.hpp @@ -591,11 +591,6 @@ public: return meta_any{*this, storage.as_ref()}; } - /*! @copydoc any::owner */ - [[nodiscard]] bool owner() const noexcept { - return storage.owner(); - } - /** * @brief Returns the current mode of a meta any object. * @return The current mode of the meta any object. @@ -604,6 +599,14 @@ public: return storage.policy(); } + /** + * @brief Returns the underlying storage. + * @return The underlyig storage. + */ + [[nodiscard]] const any &base() const noexcept { + return storage; + } + private: any storage{}; const meta_ctx *ctx{&locator::value_or()}; diff --git a/test/entt/meta/meta_any.cpp b/test/entt/meta/meta_any.cpp index 9f639a1e4..0e0c97e56 100644 --- a/test/entt/meta/meta_any.cpp +++ b/test/entt/meta/meta_any.cpp @@ -120,7 +120,7 @@ TEST_F(MetaAny, SBO) { entt::meta_any any{'c'}; ASSERT_TRUE(any); - ASSERT_TRUE(any.owner()); + ASSERT_TRUE(any.base().owner()); ASSERT_EQ(any.policy(), entt::meta_any_policy::embedded); ASSERT_FALSE(any.try_cast()); ASSERT_EQ(any.cast(), 'c'); @@ -134,7 +134,7 @@ TEST_F(MetaAny, NoSBO) { entt::meta_any any{instance}; ASSERT_TRUE(any); - ASSERT_TRUE(any.owner()); + ASSERT_TRUE(any.base().owner()); ASSERT_EQ(any.policy(), entt::meta_any_policy::dynamic); ASSERT_FALSE(any.try_cast()); ASSERT_EQ(any.cast(), instance); @@ -180,7 +180,7 @@ TEST_F(MetaAny, SBOAsRefConstruction) { auto any = entt::forward_as_meta(value); ASSERT_TRUE(any); - ASSERT_FALSE(any.owner()); + ASSERT_FALSE(any.base().owner()); ASSERT_EQ(any.policy(), entt::meta_any_policy::ref); ASSERT_EQ(any.type(), entt::resolve()); @@ -217,7 +217,7 @@ TEST_F(MetaAny, SBOAsConstRefConstruction) { auto any = entt::forward_as_meta(value); ASSERT_TRUE(any); - ASSERT_FALSE(any.owner()); + ASSERT_FALSE(any.base().owner()); ASSERT_EQ(any.policy(), entt::meta_any_policy::cref); ASSERT_EQ(any.type(), entt::resolve()); @@ -473,7 +473,7 @@ TEST_F(MetaAny, NoSBOAsRefConstruction) { auto any = entt::forward_as_meta(instance); ASSERT_TRUE(any); - ASSERT_FALSE(any.owner()); + ASSERT_FALSE(any.base().owner()); ASSERT_EQ(any.policy(), entt::meta_any_policy::ref); ASSERT_EQ(any.type(), entt::resolve()); @@ -508,7 +508,7 @@ TEST_F(MetaAny, NoSBOAsConstRefConstruction) { auto any = entt::forward_as_meta(instance); ASSERT_TRUE(any); - ASSERT_FALSE(any.owner()); + ASSERT_FALSE(any.base().owner()); ASSERT_EQ(any.policy(), entt::meta_any_policy::cref); ASSERT_EQ(any.type(), entt::resolve()); @@ -771,7 +771,7 @@ TEST_F(MetaAny, VoidInPlaceTypeConstruction) { entt::meta_any any{std::in_place_type}; ASSERT_TRUE(any); - ASSERT_FALSE(any.owner()); + ASSERT_FALSE(any.base().owner()); ASSERT_EQ(any.policy(), entt::meta_any_policy::empty); ASSERT_FALSE(any.try_cast()); ASSERT_EQ(any.data(), nullptr);