Blender  V3.3
Public Member Functions | Static Public Member Functions | List of all members
blender::fn::CustomMF< ParamTags > Class Template Reference

#include <FN_multi_function_builder.hh>

Inheritance diagram for blender::fn::CustomMF< ParamTags >:
blender::fn::MultiFunction

Public Member Functions

template<typename ElementFn , typename ExecPreset = CustomMF_presets::Materialized>
 CustomMF (const char *name, ElementFn element_fn, ExecPreset exec_preset=CustomMF_presets::Materialized())
 
void call (IndexMask mask, MFParams params, MFContext UNUSED(context)) const override
 
- Public Member Functions inherited from blender::fn::MultiFunction
virtual ~MultiFunction ()
 
void call_auto (IndexMask mask, MFParams params, MFContext context) const
 
virtual void call (IndexMask mask, MFParams params, MFContext context) const =0
 
virtual uint64_t hash () const
 
virtual bool equals (const MultiFunction &UNUSED(other)) const
 
int param_amount () const
 
IndexRange param_indices () const
 
MFParamType param_type (int param_index) const
 
StringRefNull param_name (int param_index) const
 
StringRefNull name () const
 
virtual std::string debug_name () const
 
bool depends_on_context () const
 
const MFSignaturesignature () const
 
ExecutionHints execution_hints () const
 

Static Public Member Functions

template<typename ElementFn , typename ExecPreset , size_t... I>
static void execute (ElementFn element_fn, ExecPreset exec_preset, IndexMask mask, MFParams params, std::index_sequence< I... >)
 
template<size_t... I>
static void add_signature_parameters (MFSignatureBuilder &signature, std::index_sequence< I... >)
 

Additional Inherited Members

- Protected Member Functions inherited from blender::fn::MultiFunction
void set_signature (const MFSignature *signature)
 
virtual ExecutionHints get_execution_hints () const
 

Detailed Description

template<typename... ParamTags>
class blender::fn::CustomMF< ParamTags >

Definition at line 315 of file FN_multi_function_builder.hh.

Constructor & Destructor Documentation

◆ CustomMF()

template<typename... ParamTags>
template<typename ElementFn , typename ExecPreset = CustomMF_presets::Materialized>
blender::fn::CustomMF< ParamTags >::CustomMF ( const char *  name,
ElementFn  element_fn,
ExecPreset  exec_preset = CustomMF_presets::Materialized() 
)
inline

Member Function Documentation

◆ add_signature_parameters()

template<typename... ParamTags>
template<size_t... I>
static void blender::fn::CustomMF< ParamTags >::add_signature_parameters ( MFSignatureBuilder signature,
std::index_sequence< I... >   
)
inlinestatic

◆ call()

template<typename... ParamTags>
void blender::fn::CustomMF< ParamTags >::call ( IndexMask  mask,
MFParams  params,
MFContext   UNUSEDcontext 
) const
inlineoverride

Definition at line 411 of file FN_multi_function_builder.hh.

References mask(), and params.

◆ execute()

template<typename... ParamTags>
template<typename ElementFn , typename ExecPreset , size_t... I>
static void blender::fn::CustomMF< ParamTags >::execute ( ElementFn  element_fn,
ExecPreset  exec_preset,
IndexMask  mask,
MFParams  params,
std::index_sequence< I... >   
)
inlinestatic

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