Blender
V3.3
|
#include <BLI_virtual_array.hh>
Public Member Functions | |
VArrayImpl_For_Single (T value, const int64_t size) | |
![]() | |
VArrayImpl (const int64_t size) | |
virtual | ~VArrayImpl ()=default |
int64_t | size () const |
virtual T | get (int64_t index) const =0 |
virtual void | materialize (IndexMask mask, MutableSpan< T > r_span) const |
virtual void | materialize_to_uninitialized (IndexMask mask, MutableSpan< T > r_span) const |
virtual bool | try_assign_GVArray (GVArray &UNUSED(varray)) const |
virtual bool | is_same (const VArrayImpl< T > &UNUSED(other)) const |
Protected Member Functions | |
T | get (const int64_t UNUSED(index)) const override |
CommonVArrayInfo | common_info () const override |
void | materialize_compressed (IndexMask mask, MutableSpan< T > r_span) const override |
void | materialize_compressed_to_uninitialized (IndexMask mask, MutableSpan< T > r_span) const override |
Additional Inherited Members | |
![]() | |
int64_t | size_ |
A virtual array implementation that returns the same value for every index. This class is final so that it can be devirtualized by the compiler in some cases (e.g. when devirtualize_varray is used).
Definition at line 352 of file BLI_virtual_array.hh.
|
inline |
Definition at line 357 of file BLI_virtual_array.hh.
|
inlineoverrideprotectedvirtual |
Reimplemented from blender::VArrayImpl< T >.
Definition at line 368 of file BLI_virtual_array.hh.
References blender::CommonVArrayInfo::Single.
|
inlineoverrideprotected |
Definition at line 363 of file BLI_virtual_array.hh.
|
inlineoverrideprotectedvirtual |
Copy values from the virtual array into the provided span. Contrary to materialize, the index in virtual array is not the same as the index in the output span. Instead, the span is filled without gaps.
Reimplemented from blender::VArrayImpl< T >.
Definition at line 373 of file BLI_virtual_array.hh.
References BLI_assert, blender::MutableSpan< T >::fill(), mask(), blender::MutableSpan< T >::size(), and UNUSED_VARS_NDEBUG.
|
inlineoverrideprotectedvirtual |
Same as materialize_compressed but #r_span is expected to be uninitialized.
Reimplemented from blender::VArrayImpl< T >.
Definition at line 380 of file BLI_virtual_array.hh.
References BLI_assert, blender::MutableSpan< T >::data(), mask(), blender::MutableSpan< T >::size(), and blender::uninitialized_fill_n().