|
Blender V4.5
|
#include <BLI_virtual_array.hh>
Inherits blender::VArrayCommon< T >.
Public Member Functions | |
| VMutableArray ()=default | |
| VMutableArray (const VMutableArray &other)=default | |
| VMutableArray (VMutableArray &&other) noexcept=default | |
| VMutableArray (const VMutableArrayImpl< T > *impl) | |
| VMutableArray (std::shared_ptr< const VMutableArrayImpl< T > > impl) | |
| operator VArray< T > () const & | |
| operator VArray< T > () &&noexcept | |
| VMutableArray & | operator= (const VMutableArray &other) |
| VMutableArray & | operator= (VMutableArray &&other) noexcept |
| MutableSpan< T > | get_internal_span () const |
| void | set (const int64_t index, T value) |
| void | set_all (Span< T > src) |
| bool | try_assign_GVMutableArray (GVMutableArray &varray) const |
| Public Member Functions inherited from blender::VArrayCommon< T > | |
| operator bool () const | |
| T | operator[] (const int64_t index) const |
| T | get (const int64_t index) const |
| int64_t | size () const |
| T | first () const |
| T | last (const int64_t n=0) const |
| bool | is_empty () const |
| IndexRange | index_range () const |
| CommonVArrayInfo | common_info () const |
| bool | is_span () const |
| Span< T > | get_internal_span () const |
| bool | is_single () const |
| T | get_internal_single () const |
| std::optional< T > | get_if_single () const |
| void | materialize (MutableSpan< T > r_span) const |
| void | materialize (const IndexMask &mask, MutableSpan< T > r_span) const |
| void | materialize_to_uninitialized (MutableSpan< T > r_span) const |
| void | materialize_to_uninitialized (const IndexMask &mask, MutableSpan< T > r_span) const |
| void | materialize_compressed (const IndexMask &mask, MutableSpan< T > r_span) const |
| void | materialize_compressed_to_uninitialized (const IndexMask &mask, MutableSpan< T > r_span) const |
| bool | try_assign_GVArray (GVArray &varray) const |
| const VArrayImpl< T > * | get_implementation () const |
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) |
| template<typename ContainerT> | |
| static VMutableArray | ForContainer (ContainerT container) |
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 896 of file BLI_virtual_array.hh.
|
default |
Referenced by For(), ForContainer(), ForDerivedSpan(), ForSpan(), operator=(), operator=(), VMutableArray(), and VMutableArray().
|
default |
References VMutableArray().
|
defaultnoexcept |
References VMutableArray().
|
inline |
Definition at line 902 of file BLI_virtual_array.hh.
References T, and blender::VArrayCommon< T >::VArrayCommon().
|
inline |
Definition at line 904 of file BLI_virtual_array.hh.
References T, and blender::VArrayCommon< T >::VArrayCommon().
|
inlinestatic |
Construct a new virtual array for a custom VMutableArrayImpl.
Definition at line 912 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::emplace(), and VMutableArray().
Referenced by ForContainer(), ForDerivedSpan(), ForSpan(), and blender::bke::varray_for_mutable_deform_verts().
|
inlinestatic |
Construct a new virtual array for an existing container. Every container that lays out the elements in a plain array works. This takes ownership of the passed in container. If that is not desired, use ForSpan instead.
Definition at line 943 of file BLI_virtual_array.hh.
References For(), and VMutableArray().
Referenced by blender::tests::TEST().
|
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 933 of file BLI_virtual_array.hh.
References For(), and VMutableArray().
Referenced by blender::bke::instance_position_varray_for_write(), and blender::tests::TEST().
|
inlinestatic |
Construct a new virtual array for an existing span. This does not take ownership of the span.
Definition at line 923 of file BLI_virtual_array.hh.
References For(), and VMutableArray().
Referenced by blender::fn::FieldEvaluator::add_with_destination(), 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 980 of file BLI_virtual_array.hh.
References BLI_assert, blender::CommonVArrayInfo::data, blender::VArrayCommon< T >::is_span(), T, and this.
Referenced by blender::tests::TEST().
|
inlinenoexcept |
Convert to a VArray by moving.
Definition at line 957 of file BLI_virtual_array.hh.
|
inline |
Convert to a VArray by copying.
Definition at line 949 of file BLI_virtual_array.hh.
|
inline |
Definition at line 964 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::copy_from(), and VMutableArray().
|
inlinenoexcept |
Definition at line 970 of file BLI_virtual_array.hh.
References blender::VArrayCommon< T >::move_from(), and VMutableArray().
|
inline |
Set the value at the given index.
Definition at line 990 of file BLI_virtual_array.hh.
References BLI_assert, blender::VArrayCommon< T >::size(), and T.
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::tests::TEST(), and blender::tests::TEST().
|
inline |
Copy the values from the source span to all elements in the virtual array.
Definition at line 1000 of file BLI_virtual_array.hh.
References BLI_assert, blender::Span< T >::size(), and this.
|
inline |
See #GVMutableArrayImpl::try_assign_GVMutableArray.
Definition at line 1007 of file BLI_virtual_array.hh.
Referenced by blender::GVMutableArray::GVMutableArray().