Page MenuHome
Paste P2894

(An Untitled Masterwork)
ActivePublic

Authored by Jacques Lucke (JacquesLucke) on Apr 12 2022, 6:51 PM.
diff --git a/source/blender/blenlib/BLI_devirtualize_arrays_presets.hh b/source/blender/blenlib/BLI_devirtualize_arrays_presets.hh
index 3bfb974cdbb..34f5607aef2 100644
--- a/source/blender/blenlib/BLI_devirtualize_arrays_presets.hh
+++ b/source/blender/blenlib/BLI_devirtualize_arrays_presets.hh
@@ -33,15 +33,14 @@ struct AllSpanOrSingle {
};
template<size_t... SpanIndices> struct SomeSpanOtherSingle {
- template<size_t I> static constexpr bool can_be_span()
+ static constexpr ParamMode get_param_mode(size_t I)
{
- return ((I == SpanIndices) || ...);
- };
+ return ((I == SpanIndices) || ...) ? ParamMode::Span : ParamMode::Single;
+ }
template<size_t... I>
- static constexpr ParamModeSequence<(can_be_span<I>() ? ParamMode::SpanAndSingle :
- ParamMode::Single)...>
- get_modes(std::index_sequence<I...> /* indices */)
+ static constexpr ParamModeSequence<get_param_mode(I)...> get_param_modes(
+ std::index_sequence<I...> /* indices */)
{
return {};
}
@@ -50,7 +49,7 @@ template<size_t... SpanIndices> struct SomeSpanOtherSingle {
void operator()(Devirtualizer<Fn, ParamTags...> &devirtualizer)
{
if (!devirtualizer.template try_execute_devirtualized_custom<MaskMode::Range>(
- get_modes(std::make_index_sequence<sizeof...(ParamTags)>()))) {
+ get_param_modes(std::make_index_sequence<sizeof...(ParamTags)>()))) {
devirtualizer.execute_materialized();
}
}

Event Timeline