Blender V4.3
blender::fn::lazy_function::BasicParams Class Reference

#include <FN_lazy_function_execute.hh>

Inherits blender::fn::lazy_function::Params.

Public Member Functions

BasicParams.
 BasicParams (const LazyFunction &fn, Span< GMutablePointer > inputs, Span< GMutablePointer > outputs, MutableSpan< std::optional< ValueUsage > > input_usages, Span< ValueUsage > output_usages, MutableSpan< bool > set_outputs)
 
void * try_get_input_data_ptr_impl (const int index) const override
 
void * try_get_input_data_ptr_or_request_impl (const int index) override
 
void * get_output_data_ptr_impl (const int index) override
 
void output_set_impl (const int index) override
 
bool output_was_set_impl (const int index) const override
 
ValueUsage get_output_usage_impl (const int index) const override
 
void set_input_unused_impl (const int index) override
 
bool try_enable_multi_threading_impl () override
 
- Public Member Functions inherited from blender::fn::lazy_function::Params
 Params (const LazyFunction &fn, bool allow_multi_threading_initially)
 
void * try_get_input_data_ptr (int index) const
 
void * try_get_input_data_ptr_or_request (int index)
 
void * get_output_data_ptr (int index)
 
void output_set (int index)
 
bool output_was_set (int index) const
 
ValueUsage get_output_usage (int index) const
 
void set_input_unused (int index)
 
template<typename T >
T extract_input (int index)
 
template<typename T >
Tget_input (int index) const
 
template<typename T >
Ttry_get_input_data_ptr (int index) const
 
template<typename T >
Ttry_get_input_data_ptr_or_request (int index)
 
template<typename T >
void set_output (int index, T &&value)
 
bool try_enable_multi_threading ()
 

Additional Inherited Members

- Public Attributes inherited from blender::fn::lazy_function::Params
const LazyFunctionfn_
 
std::thread::id main_thread_id_
 
std::atomic< bool > allow_multi_threading_
 

Detailed Description

Most basic implementation of Params. It does not actually implement any logic for how to retrieve inputs or set outputs. Instead, code using BasicParams has to implement that.

Definition at line 23 of file FN_lazy_function_execute.hh.

Constructor & Destructor Documentation

◆ BasicParams()

blender::fn::lazy_function::BasicParams::BasicParams ( const LazyFunction & fn,
Span< GMutablePointer > inputs,
Span< GMutablePointer > outputs,
MutableSpan< std::optional< ValueUsage > > input_usages,
Span< ValueUsage > output_usages,
MutableSpan< bool > set_outputs )

Definition at line 17 of file lazy_function_execute.cc.

Member Function Documentation

◆ get_output_data_ptr_impl()

void * blender::fn::lazy_function::BasicParams::get_output_data_ptr_impl ( const int index)
overridevirtual

Implements blender::fn::lazy_function::Params.

Definition at line 46 of file lazy_function_execute.cc.

◆ get_output_usage_impl()

ValueUsage blender::fn::lazy_function::BasicParams::get_output_usage_impl ( const int index) const
overridevirtual

Implements blender::fn::lazy_function::Params.

Definition at line 61 of file lazy_function_execute.cc.

◆ output_set_impl()

void blender::fn::lazy_function::BasicParams::output_set_impl ( const int index)
overridevirtual

Implements blender::fn::lazy_function::Params.

Definition at line 51 of file lazy_function_execute.cc.

◆ output_was_set_impl()

bool blender::fn::lazy_function::BasicParams::output_was_set_impl ( const int index) const
overridevirtual

Implements blender::fn::lazy_function::Params.

Definition at line 56 of file lazy_function_execute.cc.

◆ set_input_unused_impl()

void blender::fn::lazy_function::BasicParams::set_input_unused_impl ( const int index)
overridevirtual

◆ try_enable_multi_threading_impl()

bool blender::fn::lazy_function::BasicParams::try_enable_multi_threading_impl ( )
overridevirtual

Reimplemented from blender::fn::lazy_function::Params.

Definition at line 71 of file lazy_function_execute.cc.

◆ try_get_input_data_ptr_impl()

void * blender::fn::lazy_function::BasicParams::try_get_input_data_ptr_impl ( const int index) const
overridevirtual

Methods that need to be implemented by subclasses. Those are separate from the non-virtual methods above to make it easy to insert additional debugging logic on top of the implementations.

Implements blender::fn::lazy_function::Params.

Definition at line 32 of file lazy_function_execute.cc.

◆ try_get_input_data_ptr_or_request_impl()

void * blender::fn::lazy_function::BasicParams::try_get_input_data_ptr_or_request_impl ( const int index)
overridevirtual

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