From 5613c61275fe67b4d6113f79512bd129d372509c Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 10 May 2021 19:12:04 -0500 Subject: 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. --- source/blender/functions/FN_generic_virtual_array.hh | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'source/blender/functions') 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 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 *)varray_; -- cgit v1.2.3