Blender
V3.3
|
#include <BLI_virtual_array.hh>
Static Public Member Functions | |
template<typename ImplT , typename... Args> | |
static VMutableArray | For (Args &&...args) |
static VMutableArray | ForSpan (MutableSpan< T > values) |
template<typename StructT , T(*)(const StructT &) GetFunc, void(*)(StructT &, T) SetFunc> | |
static VMutableArray | ForDerivedSpan (MutableSpan< StructT > values) |
Additional Inherited Members | |
![]() | |
using | Storage = Any< detail::VArrayAnyExtraInfo< T >, 24, 8 > |
![]() | |
VArrayCommon ()=default | |
VArrayCommon (const VArrayCommon &other) | |
VArrayCommon (VArrayCommon &&other) noexcept | |
VArrayCommon (const VArrayImpl< T > *impl) | |
VArrayCommon (std::shared_ptr< const VArrayImpl< T >> impl) | |
template<typename ImplT , typename... Args> | |
void | emplace (Args &&...args) |
void | copy_from (const VArrayCommon &other) |
void | move_from (VArrayCommon &&other) noexcept |
const VArrayImpl< T > * | impl_from_storage () const |
![]() | |
const VArrayImpl< T > * | impl_ = nullptr |
Storage | storage_ |
Similar to #VArray but references a virtual array that can be modified.
Definition at line 988 of file BLI_virtual_array.hh.
|
default |
|
default |
|
defaultnoexcept |
|
inline |
Definition at line 994 of file BLI_virtual_array.hh.
|
inline |
Definition at line 998 of file BLI_virtual_array.hh.
|
inlinestatic |
Construct a new virtual array for a custom #VMutableArrayImpl.
Definition at line 1006 of file BLI_virtual_array.hh.
|
inlinestatic |
Construct a new virtual array for an existing span with a mapping function. This does not take ownership of the span.
Definition at line 1027 of file BLI_virtual_array.hh.
|
inlinestatic |
Construct a new virtual array for an existing span. This does not take ownership of the span.
Definition at line 1017 of file BLI_virtual_array.hh.
Referenced by blender::bke::make_array_write_attribute(), blender::tests::TEST(), and blender::GVMutableArray::typed().
|
inline |
Get access to the internal span. This invokes undefined behavior if the is_span returned false.
Definition at line 1064 of file BLI_virtual_array.hh.
References BLI_assert, blender::CommonVArrayInfo::data, blender::VArrayCommon< T >::is_span(), and T.
|
inlinenoexcept |
Convert to a #VArray by moving.
Definition at line 1041 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::move_from().
|
inline |
Convert to a #VArray by copying.
Definition at line 1033 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::copy_from().
|
inline |
Definition at line 1048 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::copy_from().
|
inlinenoexcept |
Definition at line 1054 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::move_from().
|
inline |
Set the value at the given index.
Definition at line 1074 of file BLI_virtual_array.hh.
References BLI_assert, and blender::VArrayCommon< T >::size().
Referenced by blender::GVMutableArrayImpl_For_VMutableArray< T >::set_by_copy(), blender::GVMutableArrayImpl_For_VMutableArray< T >::set_by_move(), blender::GVMutableArrayImpl_For_VMutableArray< T >::set_by_relocate(), and blender::tests::TEST().
|
inline |
Copy the values from the source span to all elements in the virtual array.
Definition at line 1084 of file BLI_virtual_array.hh.
References BLI_assert, and src.
Referenced by blender::MutableVArraySpan< T >::save(), and blender::GVMutableArrayImpl_For_VMutableArray< T >::set_all().
|
inline |
See #GVMutableArrayImpl::try_assign_GVMutableArray.
Definition at line 1091 of file BLI_virtual_array.hh.
Referenced by blender::GVMutableArray::GVMutableArray().