[Bf-blender-cvs] [ccce11d6517] virtual-array-attributes: support optional ownership

Jacques Lucke noreply at git.blender.org
Mon Apr 12 18:27:56 CEST 2021


Commit: ccce11d6517bcbcec7f46682c2ec34a5ecd4e1b5
Author: Jacques Lucke
Date:   Sun Apr 11 12:21:24 2021 +0200
Branches: virtual-array-attributes
https://developer.blender.org/rBccce11d6517bcbcec7f46682c2ec34a5ecd4e1b5

support optional ownership

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

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 ce905139f9b..089cc4bd121 100644
--- a/source/blender/functions/FN_generic_virtual_array.hh
+++ b/source/blender/functions/FN_generic_virtual_array.hh
@@ -715,6 +715,7 @@ template<typename T> class GVMutableArray_Typed {
   VMutableArray<T> *varray_;
   std::optional<VMutableArray_For_MutableSpan<T>> varray_span_;
   std::optional<VMutableArray_For_GVMutableArray<T>> varray_any_;
+  std::unique_ptr<GVMutableArray> owned_gvarray_;
 
  public:
   GVMutableArray_Typed(GVMutableArray &gvarray)
@@ -734,6 +735,11 @@ template<typename T> class GVMutableArray_Typed {
     }
   }
 
+  GVMutableArray_Typed(std::unique_ptr<GVMutableArray> gvarray) : GVMutableArray_Typed(*gvarray)
+  {
+    owned_gvarray_ = std::move(gvarray);
+  }
+
   VMutableArray<T> &operator*()
   {
     return *varray_;



More information about the Bf-blender-cvs mailing list