Commit: 5613c61275fe67b4d6113f79512bd129d372509c
Author: Hans Goudey
Date:   Mon May 10 19:12:04 2021 -0500
Branches: master
https://developer.blender.org/rB5613c61275fe67b4d6113f79512bd129d372509c

Functions: Add materialize methods for generic mutable virtual array

Similar to how `GVArray_For_VArray` implements `materialize_impl` to
forward the work to its non-generic virtual array, we can do the same
thing for the mutable version, `GVMutableArray_For_VMutableArray`.

This commit should have no visible changes, since as far as I can tell
the only user of this class does not implement special materialize
methods anyway.

===================================================================

M       source/blender/functions/FN_generic_virtual_array.hh

===================================================================

diff --git a/source/blender/functions/FN_generic_virtual_array.hh 
b/source/blender/functions/FN_generic_virtual_array.hh
index aca752583c4..12454fe08f3 100644
--- a/source/blender/functions/FN_generic_virtual_array.hh
+++ b/source/blender/functions/FN_generic_virtual_array.hh
@@ -554,6 +554,16 @@ template<typename T> class 
GVMutableArray_For_VMutableArray : public GVMutableAr
     varray_->set(index, std::move(value_));
   }
 
+  void materialize_impl(const IndexMask mask, void *dst) const override
+  {
+    varray_->materialize(mask, MutableSpan((T *)dst, mask.min_array_size()));
+  }
+
+  void materialize_to_uninitialized_impl(const IndexMask mask, void *dst) 
const override
+  {
+    varray_->materialize_to_uninitialized(mask, MutableSpan((T *)dst, 
mask.min_array_size()));
+  }
+
   const void *try_get_internal_varray_impl() const override
   {
     return (const VArray<T> *)varray_;

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to