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

Public Member Functions

void destruct_value (ValueAllocator &value_allocator, const MFDataType &data_type)
 
bool is_one () const
 
bool is_fully_initialized (const IndexMask full_mask)
 
bool is_fully_uninitialized (const IndexMask full_mask)
 
void add_as_input (MFParamsBuilder &params, IndexMask mask, const MFDataType &data_type) const
 
void ensure_is_mutable (IndexMask full_mask, const MFDataType &data_type, ValueAllocator &value_allocator)
 
void add_as_mutable (MFParamsBuilder &params, IndexMask mask, IndexMask full_mask, const MFDataType &data_type, ValueAllocator &value_allocator)
 
void add_as_output (MFParamsBuilder &params, IndexMask mask, IndexMask full_mask, const MFDataType &data_type, ValueAllocator &value_allocator)
 
void add_as_input__one (MFParamsBuilder &params, const MFDataType &data_type) const
 
void ensure_is_mutable__one (const MFDataType &data_type, ValueAllocator &value_allocator)
 
void add_as_mutable__one (MFParamsBuilder &params, const MFDataType &data_type, ValueAllocator &value_allocator)
 
void add_as_output__one (MFParamsBuilder &params, IndexMask mask, const MFDataType &data_type, ValueAllocator &value_allocator)
 
bool destruct (IndexMask mask, IndexMask full_mask, const MFDataType &data_type, ValueAllocator &value_allocator)
 
void indices_split (IndexMask mask, IndicesSplitVectors &r_indices)
 
template<typename T >
Tvalue_as ()
 
template<typename T >
const Tvalue_as () const
 

Public Attributes

VariableValuevalue_ = nullptr
 
int tot_initialized_ = 0
 
voidcaller_provided_storage_ = nullptr
 

Detailed Description

This class keeps track of a single variable during evaluation.

Definition at line 312 of file multi_function_procedure_executor.cc.

Member Function Documentation

◆ add_as_input()

void blender::fn::VariableState::add_as_input ( MFParamsBuilder params,
IndexMask  mask,
const MFDataType data_type 
) const
inline

◆ add_as_input__one()

void blender::fn::VariableState::add_as_input__one ( MFParamsBuilder params,
const MFDataType data_type 
) const
inline

◆ add_as_mutable()

void blender::fn::VariableState::add_as_mutable ( MFParamsBuilder params,
IndexMask  mask,
IndexMask  full_mask,
const MFDataType data_type,
ValueAllocator value_allocator 
)
inline

◆ add_as_mutable__one()

void blender::fn::VariableState::add_as_mutable__one ( MFParamsBuilder params,
const MFDataType data_type,
ValueAllocator value_allocator 
)
inline

◆ add_as_output()

void blender::fn::VariableState::add_as_output ( MFParamsBuilder params,
IndexMask  mask,
IndexMask  full_mask,
const MFDataType data_type,
ValueAllocator value_allocator 
)
inline

◆ add_as_output__one()

void blender::fn::VariableState::add_as_output__one ( MFParamsBuilder params,
IndexMask  mask,
const MFDataType data_type,
ValueAllocator value_allocator 
)
inline

◆ destruct()

bool blender::fn::VariableState::destruct ( IndexMask  mask,
IndexMask  full_mask,
const MFDataType data_type,
ValueAllocator value_allocator 
)
inline

Destruct the masked elements in this variable.

Returns
True when all elements of this variable are initialized and the variable state can be released.

Definition at line 699 of file multi_function_procedure_executor.cc.

References BLI_assert, caller_provided_storage_, data, ensure_is_mutable(), mask(), blender::fn::MFDataType::single_type(), blender::IndexMask::size(), tot_initialized_, blender::fn::VariableValue::type, type, UNUSED_VARS_NDEBUG, and value_.

Referenced by blender::fn::VariableStates::destruct().

◆ destruct_value()

void blender::fn::VariableState::destruct_value ( ValueAllocator value_allocator,
const MFDataType data_type 
)
inline

◆ ensure_is_mutable()

void blender::fn::VariableState::ensure_is_mutable ( IndexMask  full_mask,
const MFDataType data_type,
ValueAllocator value_allocator 
)
inline

◆ ensure_is_mutable__one()

void blender::fn::VariableState::ensure_is_mutable__one ( const MFDataType data_type,
ValueAllocator value_allocator 
)
inline

◆ indices_split()

void blender::fn::VariableState::indices_split ( IndexMask  mask,
IndicesSplitVectors r_indices 
)
inline

◆ is_fully_initialized()

bool blender::fn::VariableState::is_fully_initialized ( const IndexMask  full_mask)
inline

◆ is_fully_uninitialized()

bool blender::fn::VariableState::is_fully_uninitialized ( const IndexMask  full_mask)
inline

◆ is_one()

bool blender::fn::VariableState::is_one ( ) const
inline

◆ value_as() [1/2]

template<typename T >
T* blender::fn::VariableState::value_as ( )
inline

◆ value_as() [2/2]

template<typename T >
const T* blender::fn::VariableState::value_as ( ) const
inline

Member Data Documentation

◆ caller_provided_storage_

void* blender::fn::VariableState::caller_provided_storage_ = nullptr

◆ tot_initialized_

int blender::fn::VariableState::tot_initialized_ = 0

◆ value_

VariableValue* blender::fn::VariableState::value_ = nullptr

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