Blender  V3.3
Public Member Functions | List of all members
blender::fn::MFProcedureExecutor Class Reference

#include <FN_multi_function_procedure_executor.hh>

Inheritance diagram for blender::fn::MFProcedureExecutor:
blender::fn::MultiFunction

Public Member Functions

 MFProcedureExecutor (const MFProcedure &procedure)
 
void call (IndexMask mask, MFParams params, MFContext context) const override
 
- Public Member Functions inherited from blender::fn::MultiFunction
virtual ~MultiFunction ()
 
void call_auto (IndexMask mask, MFParams params, MFContext context) const
 
virtual uint64_t hash () const
 
virtual bool equals (const MultiFunction &UNUSED(other)) const
 
int param_amount () const
 
IndexRange param_indices () const
 
MFParamType param_type (int param_index) const
 
StringRefNull param_name (int param_index) const
 
StringRefNull name () const
 
virtual std::string debug_name () const
 
bool depends_on_context () const
 
const MFSignaturesignature () const
 
ExecutionHints execution_hints () const
 

Additional Inherited Members

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

Detailed Description

A multi-function that executes a procedure internally.

Definition at line 14 of file FN_multi_function_procedure_executor.hh.

Constructor & Destructor Documentation

◆ MFProcedureExecutor()

blender::fn::MFProcedureExecutor::MFProcedureExecutor ( const MFProcedure procedure)

Member Function Documentation

◆ call()

void blender::fn::MFProcedureExecutor::call ( IndexMask  mask,
MFParams  params,
MFContext  context 
) const
overridevirtual

Implements blender::fn::MultiFunction.

Definition at line 1176 of file multi_function_procedure_executor.cc.

References blender::fn::InstructionScheduler::add_owned_indices(), blender::fn::InstructionScheduler::add_referenced_indices(), BLI_assert, blender::fn::Branch, blender::fn::MFBranchInstruction::branch_false(), blender::fn::MFBranchInstruction::branch_true(), blender::fn::Call, blender::fn::MFBranchInstruction::condition(), blender::compositor::context, blender::fn::MFParamType::data_type(), blender::fn::Destruct, blender::fn::Dummy, blender::fn::VariableState::ensure_is_mutable(), blender::fn::MFProcedure::entry(), blender::fn::execute_call_instruction(), blender::fn::VariableState::indices_split(), blender::fn::MFParamType::Input, blender::fn::NextInstructionInfo::instruction, blender::fn::MFParamType::interface_type(), blender::fn::InstructionScheduler::is_done(), blender::fn::VariableState::is_fully_initialized(), blender::fn::VariableState::is_fully_uninitialized(), blender::fn::NextInstructionInfo::mask(), blender::fn::MFParamType::Mutable, blender::fn::MFCallInstruction::next(), blender::fn::MFDestructInstruction::next(), blender::fn::MFDummyInstruction::next(), blender::fn::MFParamType::Output, blender::fn::MultiFunction::param_indices(), blender::fn::MultiFunction::param_type(), blender::fn::MFProcedure::params(), params, blender::fn::InstructionScheduler::peek(), blender::fn::InstructionScheduler::pop(), blender::LinearAllocator< Allocator >::provide_buffer(), blender::fn::Return, blender::fn::MFInstruction::type(), blender::fn::InstructionScheduler::update_instruction_pointer(), blender::fn::MFProcedure::validate(), and blender::fn::MFDestructInstruction::variable().


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