9#include "testing/testing.h"
48 if (data_->is_mutable()) {
49 data_->tag_ensured_mutable();
52 data_ = data_->copy();
58TEST(implicit_sharing, CopyOnWriteAccess)
62 EXPECT_NE(a.get_for_read(),
nullptr);
74 EXPECT_NE(data_b1,
nullptr);
76 EXPECT_NE(data_b1, a.get_for_read());
92TEST(implicit_sharing, WeakUser)
110 const int old_version = sharing_info->
version();
114 EXPECT_LT(old_version, sharing_info->
version());
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
Read Guarded memory(de)allocation.
void remove_weak_user_and_delete_if_last() const
void add_weak_user() const
ImplicitSharingPtr< ImplicitlySharedData > copy() const
void delete_self() override
const ImplicitlySharedData * get_for_read() const
ImplicitlySharedData * get_for_write()
const ImplicitSharingInfo * sharing_info() const
local_group_size(16, 16) .push_constant(Type b
TEST(any, DefaultConstructor)