Blender  V3.3
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
blender::VArrayImpl_For_GVArray< T > Class Template Reference

#include <BLI_generic_virtual_array.hh>

Inheritance diagram for blender::VArrayImpl_For_GVArray< T >:
blender::VArrayImpl< T >

Public Member Functions

 VArrayImpl_For_GVArray (GVArray varray)
 
- Public Member Functions inherited from blender::VArrayImpl< T >
 VArrayImpl (const int64_t size)
 
virtual ~VArrayImpl ()=default
 
int64_t size () 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 index) const override
 
CommonVArrayInfo common_info () const override
 
bool try_assign_GVArray (GVArray &varray) const override
 
void materialize (IndexMask mask, MutableSpan< T > r_span) const override
 
void materialize_to_uninitialized (IndexMask mask, MutableSpan< T > r_span) 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
 

Protected Attributes

GVArray varray_
 
- Protected Attributes inherited from blender::VArrayImpl< T >
int64_t size_
 

Detailed Description

template<typename T>
class blender::VArrayImpl_For_GVArray< T >

Definition at line 359 of file BLI_generic_virtual_array.hh.

Constructor & Destructor Documentation

◆ VArrayImpl_For_GVArray()

template<typename T >
blender::VArrayImpl_For_GVArray< T >::VArrayImpl_For_GVArray ( GVArray  varray)
inline

Definition at line 364 of file BLI_generic_virtual_array.hh.

References BLI_assert, and blender::GVArrayCommon::type().

Member Function Documentation

◆ common_info()

template<typename T >
CommonVArrayInfo blender::VArrayImpl_For_GVArray< T >::common_info ( ) const
inlineoverrideprotectedvirtual

Reimplemented from blender::VArrayImpl< T >.

Definition at line 378 of file BLI_generic_virtual_array.hh.

References blender::GVArrayCommon::common_info().

◆ get()

template<typename T >
T blender::VArrayImpl_For_GVArray< T >::get ( const int64_t  index) const
inlineoverrideprotectedvirtual

Get the element at #index. This does not return a reference, because the value may be computed on the fly.

Implements blender::VArrayImpl< T >.

Definition at line 371 of file BLI_generic_virtual_array.hh.

References blender::GVArrayCommon::get(), and T.

◆ materialize()

template<typename T >
void blender::VArrayImpl_For_GVArray< T >::materialize ( IndexMask  mask,
MutableSpan< T r_span 
) const
inlineoverrideprotectedvirtual

Copy values from the virtual array into the provided span. The index of the value in the virtual array is the same as the index in the span.

Reimplemented from blender::VArrayImpl< T >.

Definition at line 389 of file BLI_generic_virtual_array.hh.

References blender::MutableSpan< T >::data(), mask(), and blender::GVArrayCommon::materialize().

◆ materialize_compressed()

template<typename T >
void blender::VArrayImpl_For_GVArray< T >::materialize_compressed ( IndexMask  mask,
MutableSpan< T r_span 
) const
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 399 of file BLI_generic_virtual_array.hh.

References blender::MutableSpan< T >::data(), mask(), and blender::GVArrayCommon::materialize_compressed().

◆ materialize_compressed_to_uninitialized()

template<typename T >
void blender::VArrayImpl_For_GVArray< T >::materialize_compressed_to_uninitialized ( IndexMask  mask,
MutableSpan< T r_span 
) const
inlineoverrideprotectedvirtual

Same as materialize_compressed but #r_span is expected to be uninitialized.

Reimplemented from blender::VArrayImpl< T >.

Definition at line 404 of file BLI_generic_virtual_array.hh.

References blender::MutableSpan< T >::data(), mask(), and blender::GVArrayCommon::materialize_compressed_to_uninitialized().

◆ materialize_to_uninitialized()

template<typename T >
void blender::VArrayImpl_For_GVArray< T >::materialize_to_uninitialized ( IndexMask  mask,
MutableSpan< T r_span 
) const
inlineoverrideprotectedvirtual

Same as materialize but #r_span is expected to be uninitialized.

Reimplemented from blender::VArrayImpl< T >.

Definition at line 394 of file BLI_generic_virtual_array.hh.

References blender::MutableSpan< T >::data(), mask(), and blender::GVArrayCommon::materialize_to_uninitialized().

◆ try_assign_GVArray()

template<typename T >
bool blender::VArrayImpl_For_GVArray< T >::try_assign_GVArray ( GVArray varray) const
inlineoverrideprotected

Definition at line 383 of file BLI_generic_virtual_array.hh.

Member Data Documentation

◆ varray_

template<typename T >
GVArray blender::VArrayImpl_For_GVArray< T >::varray_
protected

Definition at line 361 of file BLI_generic_virtual_array.hh.


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