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

#include <FN_multi_function_procedure_builder.hh>

Classes

struct  Branch
 
struct  Loop
 

Public Member Functions

 ProcedureBuilder (Procedure &procedure, InstructionCursor initial_cursor=InstructionCursor::ForEntry())
 
 ProcedureBuilder (Span< ProcedureBuilder * > builders)
 
 ProcedureBuilder (Branch &branch)
 
void set_cursor (const InstructionCursor &cursor)
 
void set_cursor (Span< InstructionCursor > cursors)
 
void set_cursor (Span< ProcedureBuilder * > builders)
 
void set_cursor_after_branch (Branch &branch)
 
void set_cursor_after_loop (Loop &loop)
 
void add_destruct (Variable &variable)
 
void add_destruct (Span< Variable * > variables)
 
ReturnInstructionadd_return ()
 
Branch add_branch (Variable &condition)
 
Loop add_loop ()
 
void add_loop_continue (Loop &loop)
 
void add_loop_break (Loop &loop)
 
CallInstructionadd_call_with_no_variables (const MultiFunction &fn)
 
CallInstructionadd_call_with_all_variables (const MultiFunction &fn, Span< Variable * > param_variables)
 
Vector< Variable * > add_call (const MultiFunction &fn, Span< Variable * > input_and_mutable_variables={})
 
template<int OutputN>
std::array< Variable *, OutputN > add_call (const MultiFunction &fn, Span< Variable * > input_and_mutable_variables={})
 
void add_parameter (ParamType::InterfaceType interface_type, Variable &variable)
 
Variableadd_parameter (ParamType param_type, std::string name="")
 
Variableadd_input_parameter (DataType data_type, std::string name="")
 
template<typename T >
Variableadd_single_input_parameter (std::string name="")
 
template<typename T >
Variableadd_single_mutable_parameter (std::string name="")
 
void add_output_parameter (Variable &variable)
 

Detailed Description

Utility class to build a #Procedure.

Definition at line 18 of file FN_multi_function_procedure_builder.hh.

Constructor & Destructor Documentation

◆ ProcedureBuilder() [1/3]

blender::fn::multi_function::ProcedureBuilder::ProcedureBuilder ( Procedure & procedure,
InstructionCursor initial_cursor = InstructionCursor::ForEntry() )
inline

Definition at line 97 of file FN_multi_function_procedure_builder.hh.

◆ ProcedureBuilder() [2/3]

blender::fn::multi_function::ProcedureBuilder::ProcedureBuilder ( Span< ProcedureBuilder * > builders)
inline

Definition at line 102 of file FN_multi_function_procedure_builder.hh.

References set_cursor().

◆ ProcedureBuilder() [3/3]

blender::fn::multi_function::ProcedureBuilder::ProcedureBuilder ( Branch & branch)
inline

Definition at line 91 of file FN_multi_function_procedure_builder.hh.

References set_cursor_after_branch().

Member Function Documentation

◆ add_branch()

◆ add_call() [1/2]

◆ add_call() [2/2]

template<int OutputN>
std::array< Variable *, OutputN > blender::fn::multi_function::ProcedureBuilder::add_call ( const MultiFunction & fn,
Span< Variable * > input_and_mutable_variables = {} )
inline

◆ add_call_with_all_variables()

CallInstruction & blender::fn::multi_function::ProcedureBuilder::add_call_with_all_variables ( const MultiFunction & fn,
Span< Variable * > param_variables )

◆ add_call_with_no_variables()

CallInstruction & blender::fn::multi_function::ProcedureBuilder::add_call_with_no_variables ( const MultiFunction & fn)

◆ add_destruct() [1/2]

void blender::fn::multi_function::ProcedureBuilder::add_destruct ( Span< Variable * > variables)

Definition at line 17 of file multi_function_procedure_builder.cc.

References add_destruct().

◆ add_destruct() [2/2]

◆ add_input_parameter()

Variable & blender::fn::multi_function::ProcedureBuilder::add_input_parameter ( DataType data_type,
std::string name = "" )
inline

◆ add_loop()

◆ add_loop_break()

void blender::fn::multi_function::ProcedureBuilder::add_loop_break ( Loop & loop)

◆ add_loop_continue()

void blender::fn::multi_function::ProcedureBuilder::add_loop_continue ( Loop & loop)

◆ add_output_parameter()

void blender::fn::multi_function::ProcedureBuilder::add_output_parameter ( Variable & variable)
inline

◆ add_parameter() [1/2]

Variable & blender::fn::multi_function::ProcedureBuilder::add_parameter ( ParamType param_type,
std::string name = "" )
inline

◆ add_parameter() [2/2]

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

◆ add_return()

ReturnInstruction & blender::fn::multi_function::ProcedureBuilder::add_return ( )

◆ add_single_input_parameter()

template<typename T >
Variable & blender::fn::multi_function::ProcedureBuilder::add_single_input_parameter ( std::string name = "")
inline

◆ add_single_mutable_parameter()

template<typename T >
Variable & blender::fn::multi_function::ProcedureBuilder::add_single_mutable_parameter ( std::string name = "")
inline

◆ set_cursor() [1/3]

void blender::fn::multi_function::ProcedureBuilder::set_cursor ( const InstructionCursor & cursor)
inline

◆ set_cursor() [2/3]

void blender::fn::multi_function::ProcedureBuilder::set_cursor ( Span< InstructionCursor > cursors)
inline

Definition at line 113 of file FN_multi_function_procedure_builder.hh.

◆ set_cursor() [3/3]

void blender::fn::multi_function::ProcedureBuilder::set_cursor ( Span< ProcedureBuilder * > builders)
inline

Definition at line 128 of file FN_multi_function_procedure_builder.hh.

◆ set_cursor_after_branch()

void blender::fn::multi_function::ProcedureBuilder::set_cursor_after_branch ( Branch & branch)
inline

◆ set_cursor_after_loop()

void blender::fn::multi_function::ProcedureBuilder::set_cursor_after_loop ( Loop & loop)
inline

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