Blender  V3.3
Public Member Functions | List of all members
blender::fn::ValueAllocator Class Reference
Inheritance diagram for blender::fn::ValueAllocator:
blender::NonCopyable blender::NonMovable

Public Member Functions

 ValueAllocator (LinearAllocator<> &linear_allocator)
 
VariableValue_GVArray * obtain_GVArray (const GVArray &varray)
 
VariableValue_GVVectorArray * obtain_GVVectorArray (const GVVectorArray &varray)
 
VariableValue_Span * obtain_Span_not_owned (void *buffer)
 
VariableValue_Span * obtain_Span (const CPPType &type, int size)
 
VariableValue_GVectorArray * obtain_GVectorArray_not_owned (GVectorArray &data)
 
VariableValue_GVectorArray * obtain_GVectorArray (const CPPType &type, int size)
 
VariableValue_OneSingle * obtain_OneSingle (const CPPType &type)
 
VariableValue_OneVector * obtain_OneVector (const CPPType &type)
 
void release_value (VariableValue *value, const MFDataType &data_type)
 

Detailed Description

The ValueAllocator is responsible for providing memory for variables and their values. It also manages the reuse of buffers to improve performance.

Definition at line 126 of file multi_function_procedure_executor.cc.

Constructor & Destructor Documentation

◆ ValueAllocator()

blender::fn::ValueAllocator::ValueAllocator ( LinearAllocator<> &  linear_allocator)
inline

Definition at line 157 of file multi_function_procedure_executor.cc.

Member Function Documentation

◆ obtain_GVArray()

VariableValue_GVArray* blender::fn::ValueAllocator::obtain_GVArray ( const GVArray &  varray)
inline

◆ obtain_GVectorArray()

VariableValue_GVectorArray* blender::fn::ValueAllocator::obtain_GVectorArray ( const CPPType &  type,
int  size 
)
inline

Definition at line 210 of file multi_function_procedure_executor.cc.

References size(), and type.

Referenced by blender::fn::VariableState::ensure_is_mutable().

◆ obtain_GVectorArray_not_owned()

VariableValue_GVectorArray* blender::fn::ValueAllocator::obtain_GVectorArray_not_owned ( GVectorArray &  data)
inline

◆ obtain_GVVectorArray()

VariableValue_GVVectorArray* blender::fn::ValueAllocator::obtain_GVVectorArray ( const GVVectorArray &  varray)
inline

◆ obtain_OneSingle()

VariableValue_OneSingle* blender::fn::ValueAllocator::obtain_OneSingle ( const CPPType &  type)
inline

◆ obtain_OneVector()

VariableValue_OneVector* blender::fn::ValueAllocator::obtain_OneVector ( const CPPType &  type)
inline

◆ obtain_Span()

VariableValue_Span* blender::fn::ValueAllocator::obtain_Span ( const CPPType &  type,
int  size 
)
inline

◆ obtain_Span_not_owned()

VariableValue_Span* blender::fn::ValueAllocator::obtain_Span_not_owned ( void *  buffer)
inline

◆ release_value()

void blender::fn::ValueAllocator::release_value ( VariableValue *  value,
const MFDataType &  data_type 
)
inline

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