Blender V4.3
blender::fn::multi_function::ProcedureExecutor Class Reference

#include <FN_multi_function_procedure_executor.hh>

Inherits blender::fn::multi_function::MultiFunction.

Public Member Functions

 ProcedureExecutor (const Procedure &procedure)
 
void call (const IndexMask &mask, Params params, Context context) const override
 
- Public Member Functions inherited from blender::fn::multi_function::MultiFunction
virtual ~MultiFunction ()
 
void call_auto (const IndexMask &mask, Params params, Context context) const
 
virtual uint64_t hash () const
 
virtual bool equals (const MultiFunction &) const
 
int param_amount () const
 
IndexRange param_indices () const
 
ParamType param_type (int param_index) const
 
StringRefNull param_name (int param_index) const
 
StringRefNull name () const
 
virtual std::string debug_name () const
 
const Signaturesignature () const
 
ExecutionHints execution_hints () const
 

Additional Inherited Members

- Protected Member Functions inherited from blender::fn::multi_function::MultiFunction
void set_signature (const Signature *signature)
 

Detailed Description

A multi-function that executes a procedure internally.

Definition at line 16 of file FN_multi_function_procedure_executor.hh.

Constructor & Destructor Documentation

◆ ProcedureExecutor()

blender::fn::multi_function::ProcedureExecutor::ProcedureExecutor ( const Procedure & procedure)

Member Function Documentation

◆ call()

void blender::fn::multi_function::ProcedureExecutor::call ( const IndexMask & mask,
Params params,
Context context ) const
overridevirtual

Implements blender::fn::multi_function::MultiFunction.

Definition at line 1160 of file multi_function_procedure_executor.cc.

References blender::fn::multi_function::InstructionScheduler::add_owned_indices(), blender::fn::multi_function::InstructionScheduler::add_referenced_indices(), BLI_assert, blender::fn::multi_function::Branch, blender::fn::multi_function::BranchInstruction::branch_false(), blender::fn::multi_function::BranchInstruction::branch_true(), blender::fn::multi_function::Call, blender::fn::multi_function::BranchInstruction::condition(), blender::fn::multi_function::ParamType::data_type(), blender::fn::multi_function::Destruct, blender::fn::multi_function::Dummy, blender::fn::multi_function::VariableState::ensure_is_mutable(), blender::fn::multi_function::Procedure::entry(), blender::fn::multi_function::execute_call_instruction(), blender::fn::multi_function::VariableState::indices_split(), blender::fn::multi_function::ParamType::Input, blender::fn::multi_function::NextInstructionInfo::instruction, blender::fn::multi_function::ParamType::interface_type(), blender::fn::multi_function::InstructionScheduler::is_done(), blender::fn::multi_function::VariableState::is_fully_initialized(), blender::fn::multi_function::VariableState::is_fully_uninitialized(), blender::fn::multi_function::NextInstructionInfo::mask(), blender::fn::multi_function::ParamType::Mutable, blender::fn::multi_function::CallInstruction::next(), blender::fn::multi_function::DestructInstruction::next(), blender::fn::multi_function::DummyInstruction::next(), blender::fn::multi_function::ParamType::Output, blender::fn::multi_function::MultiFunction::param_indices(), blender::fn::multi_function::MultiFunction::param_type(), blender::fn::multi_function::Procedure::params(), params, blender::fn::multi_function::InstructionScheduler::peek(), blender::fn::multi_function::InstructionScheduler::pop(), blender::LinearAllocator< Allocator >::provide_buffer(), blender::fn::multi_function::Return, blender::fn::multi_function::Instruction::type(), blender::fn::multi_function::InstructionScheduler::update_instruction_pointer(), blender::fn::multi_function::Procedure::validate(), and blender::fn::multi_function::DestructInstruction::variable().


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