Blender  V3.3
Classes | Enumerations | Functions
blender::fn::materialize_detail Namespace Reference

Classes

struct  ArgInfo
 

Enumerations

enum class  ArgMode { Unknown , Single , Span , Materialized }
 

Functions

template<typename... ParamTags, typename ElementFn , typename... Chunks>
void execute_materialized_impl (TypeSequence< ParamTags... >, const ElementFn element_fn, const IndexRange in_mask, const IndexMask out_mask, Chunks &&__restrict... chunks)
 
template<typename... ParamTags, size_t... I, typename ElementFn , typename... Args>
void execute_materialized (TypeSequence< ParamTags... >, std::index_sequence< I... >, const ElementFn element_fn, const IndexMask mask, Args &&...args)
 

Enumeration Type Documentation

◆ ArgMode

Enumerator
Unknown 
Single 
Span 
Materialized 

Definition at line 138 of file FN_multi_function_builder.hh.

Function Documentation

◆ execute_materialized()

template<typename... ParamTags, size_t... I, typename ElementFn , typename... Args>
void blender::fn::materialize_detail::execute_materialized ( TypeSequence< ParamTags... >  ,
std::index_sequence< I... >  ,
const ElementFn  element_fn,
const IndexMask  mask,
Args &&...  args 
)

◆ execute_materialized_impl()

template<typename... ParamTags, typename ElementFn , typename... Chunks>
void blender::fn::materialize_detail::execute_materialized_impl ( TypeSequence< ParamTags... >  ,
const ElementFn  element_fn,
const IndexRange  in_mask,
const IndexMask  out_mask,
Chunks &&__restrict...  chunks 
)

Similar to #execute_array but accepts two mask inputs, one for inputs and one for outputs.

Definition at line 154 of file FN_multi_function_builder.hh.

References BLI_assert, blender::fn::SingleInput, blender::fn::SingleOutput, blender::IndexMask::size(), and blender::IndexRange::size().

Referenced by execute_materialized().