Blender V4.3
blender::fn::multi_function::build::exec_presets::AllSpanOrSingle Struct Reference

#include <FN_multi_function_builder.hh>

Public Member Functions

template<typename... ParamTags, typename... LoadedParams, size_t... I>
auto create_devirtualizers (TypeSequence< ParamTags... >, std::index_sequence< I... >, const std::tuple< LoadedParams... > &loaded_params) const
 

Static Public Attributes

static constexpr bool use_devirtualization = true
 
static constexpr FallbackMode fallback_mode = FallbackMode::Materialized
 

Detailed Description

The most efficient preset, but also potentially generates a lot of code (exponential in the number of inputs of the function). It generates separate optimized loops for all combinations of inputs. This should be used for small functions of which all inputs are likely to be single values or spans, and the number of inputs is relatively small.

Definition at line 58 of file FN_multi_function_builder.hh.

Member Function Documentation

◆ create_devirtualizers()

template<typename... ParamTags, typename... LoadedParams, size_t... I>
auto blender::fn::multi_function::build::exec_presets::AllSpanOrSingle::create_devirtualizers ( TypeSequence< ParamTags... > ,
std::index_sequence< I... > ,
const std::tuple< LoadedParams... > & loaded_params ) const
inline

Member Data Documentation

◆ fallback_mode

FallbackMode blender::fn::multi_function::build::exec_presets::AllSpanOrSingle::fallback_mode = FallbackMode::Materialized
staticconstexpr

Definition at line 60 of file FN_multi_function_builder.hh.

◆ use_devirtualization

bool blender::fn::multi_function::build::exec_presets::AllSpanOrSingle::use_devirtualization = true
staticconstexpr

Definition at line 59 of file FN_multi_function_builder.hh.


The documentation for this struct was generated from the following file: