Blender  V2.93
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
blender::fn::GVArray Class Referenceabstract

#include <FN_generic_virtual_array.hh>

Inherited by blender::fn::GVArrayForEmpty, blender::fn::GVArrayForGSpan, blender::fn::GVArrayForGVVectorArrayIndex, blender::fn::GVArrayForSingleValueRef, and blender::fn::GVArrayForVArray< T >.

Public Member Functions

 GVArray (const CPPType &type, const int64_t size)
 
virtual ~GVArray ()=default
 
const CPPTypetype () const
 
int64_t size () const
 
bool is_empty () const
 
void get (const int64_t index, void *r_value) const
 
void get_to_uninitialized (const int64_t index, void *r_value) const
 
bool is_span () const
 
GSpan get_span () const
 
bool is_single () const
 
void get_single (void *r_value) const
 
void get_single_to_uninitialized (void *r_value) const
 
void materialize_to_uninitialized (const IndexMask mask, void *dst) const
 

Protected Member Functions

virtual void get_impl (const int64_t index, void *r_value) const
 
virtual void get_to_uninitialized_impl (const int64_t index, void *r_value) const =0
 
virtual bool is_span_impl () const
 
virtual GSpan get_span_impl () const
 
virtual bool is_single_impl () const
 
virtual void get_single_impl (void *UNUSED(r_value)) const
 

Protected Attributes

const CPPTypetype_
 
int64_t size_
 

Detailed Description

Definition at line 33 of file FN_generic_virtual_array.hh.

Constructor & Destructor Documentation

◆ GVArray()

blender::fn::GVArray::GVArray ( const CPPType type,
const int64_t  size 
)
inline

Definition at line 39 of file FN_generic_virtual_array.hh.

References BLI_assert, and size_.

◆ ~GVArray()

virtual blender::fn::GVArray::~GVArray ( )
virtualdefault

Member Function Documentation

◆ get()

void blender::fn::GVArray::get ( const int64_t  index,
void *  r_value 
) const
inline

◆ get_impl()

void blender::fn::GVArray::get_impl ( const int64_t  index,
void *  r_value 
) const
protectedvirtual

◆ get_single()

void blender::fn::GVArray::get_single ( void *  r_value) const
inline

◆ get_single_impl()

void blender::fn::GVArray::get_single_impl ( void *  UNUSEDr_value) const
protectedvirtual

Definition at line 51 of file generic_virtual_array.cc.

References BLI_assert.

Referenced by get_single().

◆ get_single_to_uninitialized()

void blender::fn::GVArray::get_single_to_uninitialized ( void *  r_value) const
inline

◆ get_span()

GSpan blender::fn::GVArray::get_span ( ) const
inline

◆ get_span_impl()

GSpan blender::fn::GVArray::get_span_impl ( ) const
protectedvirtual

◆ get_to_uninitialized()

void blender::fn::GVArray::get_to_uninitialized ( const int64_t  index,
void *  r_value 
) const
inline

Definition at line 71 of file FN_generic_virtual_array.hh.

References BLI_assert, get_to_uninitialized_impl(), and size_.

Referenced by materialize_to_uninitialized().

◆ get_to_uninitialized_impl()

virtual void blender::fn::GVArray::get_to_uninitialized_impl ( const int64_t  index,
void *  r_value 
) const
protectedpure virtual

◆ is_empty()

bool blender::fn::GVArray::is_empty ( ) const
inline

Definition at line 56 of file FN_generic_virtual_array.hh.

References size_.

◆ is_single()

bool blender::fn::GVArray::is_single ( ) const
inline

◆ is_single_impl()

bool blender::fn::GVArray::is_single_impl ( ) const
protectedvirtual

Reimplemented in blender::fn::GVArrayForVArray< T >, and blender::fn::GVArrayForSingleValueRef.

Definition at line 46 of file generic_virtual_array.cc.

Referenced by is_single().

◆ is_span()

bool blender::fn::GVArray::is_span ( ) const
inline

Definition at line 79 of file FN_generic_virtual_array.hh.

References is_span_impl(), and size_.

Referenced by get_span(), and blender::fn::VArrayForGVArray< T >::is_span_impl().

◆ is_span_impl()

bool blender::fn::GVArray::is_span_impl ( ) const
protectedvirtual

◆ materialize_to_uninitialized()

void blender::fn::GVArray::materialize_to_uninitialized ( const IndexMask  mask,
void *  dst 
) const

◆ size()

int64_t blender::fn::GVArray::size ( ) const
inline

◆ type()

const CPPType& blender::fn::GVArray::type ( ) const
inline

Member Data Documentation

◆ size_

int64_t blender::fn::GVArray::size_
protected

◆ type_

const CPPType* blender::fn::GVArray::type_
protected

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