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

#include <FN_multi_function_procedure.hh>

Inherits blender::NonCopyable, and blender::NonMovable.

Public Member Functions

 Procedure ()=default
 
 ~Procedure ()
 
Variablenew_variable (DataType data_type, std::string name="")
 
CallInstructionnew_call_instruction (const MultiFunction &fn)
 
BranchInstructionnew_branch_instruction ()
 
DestructInstructionnew_destruct_instruction ()
 
DummyInstructionnew_dummy_instruction ()
 
ReturnInstructionnew_return_instruction ()
 
void add_parameter (ParamType::InterfaceType interface_type, Variable &variable)
 
void set_entry (Instruction &entry)
 
std::string to_dot () const
 
bool validate () const
 
#Procedure Inline Methods
Span< ConstParameterparams () const
 
template<typename T , typename... Args>
const MultiFunctionconstruct_function (Args &&...args)
 
Instructionentry ()
 
const Instructionentry () const
 
Span< Variable * > variables ()
 
Span< const Variable * > variables () const
 

Friends

class ProcedureDotExport
 

Detailed Description

A multi-function procedure allows composing multi-functions in arbitrary ways. It consists of variables and instructions that operate on those variables. Branching and looping within the procedure is supported as well.

Typically, a Procedure should be constructed using a #ProcedureBuilder, which has many more utility methods for common use cases.

Definition at line 239 of file FN_multi_function_procedure.hh.

Constructor & Destructor Documentation

◆ Procedure()

blender::fn::multi_function::Procedure::Procedure ( )
default

◆ ~Procedure()

blender::fn::multi_function::Procedure::~Procedure ( )

Definition at line 245 of file multi_function_procedure.cc.

Member Function Documentation

◆ add_parameter()

void blender::fn::multi_function::Procedure::add_parameter ( ParamType::InterfaceType interface_type,
Variable & variable )

◆ construct_function()

template<typename T , typename... Args>
const MultiFunction & blender::fn::multi_function::Procedure::construct_function ( Args &&... args)
inline

◆ entry() [1/2]

◆ entry() [2/2]

const Instruction * blender::fn::multi_function::Procedure::entry ( ) const
inline

Definition at line 508 of file FN_multi_function_procedure.hh.

◆ new_branch_instruction()

◆ new_call_instruction()

◆ new_destruct_instruction()

◆ new_dummy_instruction()

◆ new_return_instruction()

◆ new_variable()

◆ params()

◆ set_entry()

◆ to_dot()

std::string blender::fn::multi_function::Procedure::to_dot ( ) const

◆ validate()

◆ variables() [1/2]

Span< Variable * > blender::fn::multi_function::Procedure::variables ( )
inline

◆ variables() [2/2]

Span< const Variable * > blender::fn::multi_function::Procedure::variables ( ) const
inline

Definition at line 518 of file FN_multi_function_procedure.hh.

Friends And Related Symbol Documentation

◆ ProcedureDotExport

friend class ProcedureDotExport
friend

Definition at line 252 of file FN_multi_function_procedure.hh.


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