Blender V4.3
blender::CommonVArrayInfo Struct Reference

#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
 

Detailed Description

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.

Member Enumeration Documentation

◆ Type

Enumerator
Any 
Span 
Single 

Definition at line 47 of file BLI_virtual_array.hh.

Constructor & Destructor Documentation

◆ CommonVArrayInfo() [1/2]

blender::CommonVArrayInfo::CommonVArrayInfo ( )
default

◆ CommonVArrayInfo() [2/2]

blender::CommonVArrayInfo::CommonVArrayInfo ( const Type _type,
const bool _may_have_ownership,
const void * _data )
inline

Definition at line 66 of file BLI_virtual_array.hh.

Member Data Documentation

◆ data

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::array_utils::booleans_mix_calc(), blender::GVArrayImpl_For_SlicedGVArray::common_info(), blender::ed::curves::contains(), blender::array_utils::count_booleans(), blender::GVArrayDevirtualizer< T, UseSingle, UseSpan >::devirtualize(), blender::VArrayDevirtualizer< T, UseSingle, UseSpan >::devirtualize(), blender::fn::multi_function::build::detail::execute_materialized(), blender::GVMutableArray::fill(), blender::index_mask::IndexMask::from_bools(), blender::VArrayCommon< T >::get_if_single(), blender::GVArrayCommon::get_internal_single(), blender::VArrayCommon< T >::get_internal_single(), blender::GVArrayCommon::get_internal_span(), blender::GVMutableArray::get_internal_span(), blender::VArrayCommon< T >::get_internal_span(), blender::VMutableArray< T >::get_internal_span(), blender::GMutableVArraySpan::GMutableVArraySpan(), blender::GMutableVArraySpan::GMutableVArraySpan(), blender::GVArray::GVArray(), blender::GVArraySpan::GVArraySpan(), blender::GVArraySpan::GVArraySpan(), blender::GVMutableArray::GVMutableArray(), blender::MutableVArraySpan< T >::MutableVArraySpan(), blender::MutableVArraySpan< T >::MutableVArraySpan(), blender::GVMutableArrayImpl::set_all(), blender::VMutableArrayImpl< T >::set_all(), blender::GVArray::slice(), blender::GVArray::typed(), blender::GVMutableArray::typed(), blender::VArraySpan< T >::VArraySpan(), and blender::VArraySpan< T >::VArraySpan().

◆ may_have_ownership

bool blender::CommonVArrayInfo::may_have_ownership = true

◆ type


The documentation for this struct was generated from the following file: