From 34d68139acd1c8035c458e272492f7ed837a184d Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Sun, 8 Dec 2019 22:01:31 +0100 Subject: extend single elements when necessary --- .../functions/FN_generic_virtual_list_list_ref.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'source/blender/functions/FN_generic_virtual_list_list_ref.h') diff --git a/source/blender/functions/FN_generic_virtual_list_list_ref.h b/source/blender/functions/FN_generic_virtual_list_list_ref.h index 9ccaef6b019..358b40ed780 100644 --- a/source/blender/functions/FN_generic_virtual_list_list_ref.h +++ b/source/blender/functions/FN_generic_virtual_list_list_ref.h @@ -152,6 +152,28 @@ class GenericVirtualListListRef { BLI_assert(false); return {*m_type}; } + + GenericVirtualListListRef extended_single_list(uint new_virtual_size) const + { + BLI_assert(this->is_single_list()); + + switch (m_category) { + case Category::SingleArray: + return GenericVirtualListListRef::FromSingleArray(*m_type, + m_data.single_array.data, + m_data.single_array.real_array_size, + new_virtual_size); + case Category::FullArrayList: + return GenericVirtualListListRef::FromSingleArray( + *m_type, + m_data.full_array_list.starts[0], + m_data.full_array_list.real_array_sizes[0], + new_virtual_size); + } + + BLI_assert(false); + return {}; + } }; } // namespace FN -- cgit v1.2.3