Blender V4.5
blender::fn::lazy_function::GraphExecutor Class Reference

#include <FN_lazy_function_graph_executor.hh>

Inherits blender::fn::lazy_function::LazyFunction.

Public Types

using Logger = GraphExecutorLogger
using SideEffectProvider = GraphExecutorSideEffectProvider
using NodeExecuteWrapper = GraphExecutorNodeExecuteWrapper

Public Member Functions

 GraphExecutor (const Graph &graph, const Logger *logger, const SideEffectProvider *side_effect_provider, const NodeExecuteWrapper *node_execute_wrapper)
 GraphExecutor (const Graph &graph, Vector< const GraphInputSocket * > graph_inputs, Vector< const GraphOutputSocket * > graph_outputs, const Logger *logger, const SideEffectProvider *side_effect_provider, const NodeExecuteWrapper *node_execute_wrapper)
void * init_storage (LinearAllocator<> &allocator) const override
void destruct_storage (void *storage) const override
std::string input_name (int index) const override
std::string output_name (int index) const override
Public Member Functions inherited from blender::fn::lazy_function::LazyFunction
virtual ~LazyFunction ()=default
virtual std::string name () const
virtual void possible_output_dependencies (int output_index, FunctionRef< void(Span< int >)> fn) const
bool always_used_inputs_available (const Params &params) const
bool allow_missing_requested_inputs () const
Span< Inputinputs () const
Span< Outputoutputs () const
void execute (Params &params, const Context &context) const

Friends

class Executor

Additional Inherited Members

Protected Attributes inherited from blender::fn::lazy_function::LazyFunction
const char * debug_name_ = "unknown"
Vector< Inputinputs_
Vector< Outputoutputs_
bool allow_missing_requested_inputs_ = false

Detailed Description

Definition at line 77 of file FN_lazy_function_graph_executor.hh.

Member Typedef Documentation

◆ Logger

◆ NodeExecuteWrapper

◆ SideEffectProvider

Constructor & Destructor Documentation

◆ GraphExecutor() [1/2]

blender::fn::lazy_function::GraphExecutor::GraphExecutor ( const Graph & graph,
const Logger * logger,
const SideEffectProvider * side_effect_provider,
const NodeExecuteWrapper * node_execute_wrapper )

Definition at line 1462 of file lazy_function_graph_executor.cc.

References GraphExecutor().

Referenced by GraphExecutor().

◆ GraphExecutor() [2/2]

blender::fn::lazy_function::GraphExecutor::GraphExecutor ( const Graph & graph,
Vector< const GraphInputSocket * > graph_inputs,
Vector< const GraphOutputSocket * > graph_outputs,
const Logger * logger,
const SideEffectProvider * side_effect_provider,
const NodeExecuteWrapper * node_execute_wrapper )

Member Function Documentation

◆ destruct_storage()

void blender::fn::lazy_function::GraphExecutor::destruct_storage ( void * storage) const
overridevirtual

Destruct the storage created in init_storage.

Reimplemented from blender::fn::lazy_function::LazyFunction.

Definition at line 1546 of file lazy_function_graph_executor.cc.

References Executor.

Referenced by Executor.

◆ init_storage()

void * blender::fn::lazy_function::GraphExecutor::init_storage ( LinearAllocator<> & allocator) const
overridevirtual

Allocates storage for this function. The storage will be passed to every call to execute. If the function does not keep track of any state, this does not have to be implemented.

Reimplemented from blender::fn::lazy_function::LazyFunction.

Definition at line 1540 of file lazy_function_graph_executor.cc.

References blender::LinearAllocator< Allocator >::construct(), and Executor.

Referenced by Executor.

◆ input_name()

std::string blender::fn::lazy_function::GraphExecutor::input_name ( int index) const
overridevirtual

◆ output_name()

std::string blender::fn::lazy_function::GraphExecutor::output_name ( int index) const
overridevirtual

◆ Executor

friend class Executor
friend

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