|
Blender V4.5
|
#include <BLI_virtual_array.hh>
Public Types | |
| enum class | Type : uint8_t { Any , Span , Single } |
Public Member Functions | |
| CommonVArrayInfo ()=default | |
| CommonVArrayInfo (const Type _type, const bool _may_have_ownership, const void *_data) | |
Public Attributes | |
| Type | type = Type::Any |
| bool | may_have_ownership = true |
| const void * | data |
Used to quickly check if a varray is a span or a single value. This struct also allows retrieving multiple pieces of data with a single virtual method call.
Definition at line 46 of file BLI_virtual_array.hh.
|
strong |
| Enumerator | |
|---|---|
| Any | |
| Span | |
| Single | |
Definition at line 47 of file BLI_virtual_array.hh.
|
default |
|
inline |
Definition at line 66 of file BLI_virtual_array.hh.
| const void* blender::CommonVArrayInfo::data |
Points either to nothing, a single value, or an array of values, depending on type. If this is a span of a mutable virtual array, it is safe to cast away const.
Definition at line 63 of file BLI_virtual_array.hh.
Referenced by blender::bke::attribute_data_matches_varray(), blender::GVArrayImpl_For_SlicedGVArray::common_info(), blender::fn::multi_function::build::detail::execute_materialized(), blender::GVArrayCommon::get_internal_single(), blender::GVArrayCommon::get_internal_span(), blender::GVMutableArray::get_internal_span(), blender::GVArraySpan::GVArraySpan(), blender::GVArraySpan::GVArraySpan(), and blender::GVArray::slice().
| bool blender::CommonVArrayInfo::may_have_ownership = true |
True when the data becomes a dangling pointer when the virtual array is destructed.
Definition at line 57 of file BLI_virtual_array.hh.
Referenced by blender::GVArrayImpl_For_SlicedGVArray::common_info().
Definition at line 54 of file BLI_virtual_array.hh.
Referenced by blender::bke::attribute_data_matches_varray(), blender::GVArrayImpl_For_SlicedGVArray::common_info(), blender::fn::multi_function::build::detail::execute_materialized(), blender::GVMutableArray::fill(), blender::GVArrayCommon::is_single(), blender::VArrayCommon< T >::is_single(), blender::GVArrayCommon::is_span(), blender::VArrayCommon< T >::is_span(), blender::GVMutableArrayImpl::set_all(), blender::VMutableArrayImpl< T >::set_all(), blender::GVArray::slice(), blender::GVArray::typed(), and blender::GVMutableArray::typed().