meta_any: replace ::owner (never released yet) with ::base
This commit is contained in:
@@ -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<meta_ctx>::value_or()};
|
||||
|
||||
@@ -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<std::size_t>());
|
||||
ASSERT_EQ(any.cast<char>(), '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<std::size_t>());
|
||||
ASSERT_EQ(any.cast<fat>(), 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<int>());
|
||||
|
||||
@@ -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<int>());
|
||||
|
||||
@@ -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<fat>());
|
||||
|
||||
@@ -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<fat>());
|
||||
|
||||
@@ -771,7 +771,7 @@ TEST_F(MetaAny, VoidInPlaceTypeConstruction) {
|
||||
entt::meta_any any{std::in_place_type<void>};
|
||||
|
||||
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<char>());
|
||||
ASSERT_EQ(any.data(), nullptr);
|
||||
|
||||
Reference in New Issue
Block a user