Blender
V3.3
|
#include <BLI_devirtualize_parameters.hh>
Public Member Functions | |
Devirtualizer (Fn fn, const SourceTypes *...sources) | |
bool | executed () const |
template<DeviMode... AllowedModes> | |
void | try_execute_devirtualized (DeviModeSequence< AllowedModes... >) |
void | execute_without_devirtualization () |
Main class that performs the devirtualization.
Definition at line 62 of file BLI_devirtualize_parameters.hh.
|
inline |
Definition at line 82 of file BLI_devirtualize_parameters.hh.
|
inline |
Execute the function and pass in the original parameters without doing any devirtualization.
Definition at line 117 of file BLI_devirtualize_parameters.hh.
References BLI_assert.
|
inline |
Return true when the function passed to the constructor has been called already.
Definition at line 89 of file BLI_devirtualize_parameters.hh.
|
inline |
At compile time, generates multiple variants of the function, each optimized for a different combination of devirtualized parameters. For every parameter, a bit flag is passed that determines how it will be devirtualized. At run-time, if possible, one of the generated functions is picked and executed.
To check whether the function was called successfully, call executed() afterwards.
Definition at line 106 of file BLI_devirtualize_parameters.hh.
References BLI_assert.
Referenced by blender::fn::CustomMF_presets::AllSpanOrSingle::try_devirtualize(), and blender::fn::CustomMF_presets::SomeSpanOrSingle< Indices >::try_devirtualize().