|
Blender V4.3
|
#include <BLI_virtual_array.hh>
Inherits blender::VArrayCommon< T >.
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 | |
Protected Types inherited from blender::VArrayCommon< T > | |
| using | Storage = Any<blender::detail::VArrayAnyExtraInfo<T>, 24, 8> |
Protected Member Functions inherited from blender::VArrayCommon< T > | |
| 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 |
Protected Attributes inherited from blender::VArrayCommon< T > | |
| const VArrayImpl< T > * | impl_ = nullptr |
| Storage | storage_ |
Similar to #VArray but references a virtual array that can be modified.
Definition at line 10 of file BLI_virtual_array_fwd.hh.
|
default |
|
default |
|
defaultnoexcept |
|
inline |
Definition at line 903 of file BLI_virtual_array.hh.
|
inline |
Definition at line 905 of file BLI_virtual_array.hh.
|
inlinestatic |
Construct a new virtual array for a custom #VMutableArrayImpl.
Definition at line 913 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::emplace().
Referenced by blender::VMutableArray< T >::ForDerivedSpan(), and blender::VMutableArray< T >::ForSpan().
|
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 934 of file BLI_virtual_array.hh.
References blender::VMutableArray< T >::For().
Referenced by blender::bke::instance_position_varray_for_write().
|
inlinestatic |
Construct a new virtual array for an existing span. This does not take ownership of the span.
Definition at line 924 of file BLI_virtual_array.hh.
References blender::VMutableArray< T >::For().
Referenced by 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 971 of file BLI_virtual_array.hh.
References BLI_assert, blender::CommonVArrayInfo::data, and blender::VArrayCommon< T >::is_span().
|
inlinenoexcept |
Convert to a #VArray by moving.
Definition at line 948 of file BLI_virtual_array.hh.
|
inline |
Convert to a #VArray by copying.
Definition at line 940 of file BLI_virtual_array.hh.
|
inline |
Definition at line 955 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::copy_from().
|
inlinenoexcept |
Definition at line 961 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::move_from().
|
inline |
Set the value at the given index.
Definition at line 981 of file BLI_virtual_array.hh.
References BLI_assert, and blender::VArrayCommon< T >::size().
Referenced by blender::ed::greasepencil::add_armature_automatic_weights(), blender::ed::greasepencil::add_armature_envelope_weights(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::apply_weight_to_point(), blender::ed::greasepencil::grease_pencil_weight_invert_exec(), 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 991 of file BLI_virtual_array.hh.
References BLI_assert, and blender::Span< T >::size().
Referenced by blender::GVMutableArrayImpl_For_VMutableArray< T >::set_all().
|
inline |
See #GVMutableArrayImpl::try_assign_GVMutableArray.
Definition at line 998 of file BLI_virtual_array.hh.
Referenced by blender::GVMutableArray::GVMutableArray().