123class LambdaRangeFunctorTVa
127 LambdaRangeFunctorTVa(Views... views,
const LambdaType& lambda_function)
128 : m_lambda_function(lambda_function), m_views(std::forward_as_tuple(views...))
135 std::tuple<Views...> sub_views;
136 getSubView(sub_views, begin, size, std::make_index_sequence<
sizeof...(Views)>{});
137 std::apply(m_lambda_function, sub_views);
142 template <
size_t... I>
143 void getSubView(std::tuple<Views...>& sub_views,
Integer begin,
Integer size, std::index_sequence<I...>)
145 ((std::get<I>(std::forward<
decltype(sub_views)>(sub_views)) =
146 std::get<I>(std::forward<
decltype(m_views)>(m_views)).subView(begin,size)), ...);
150 const LambdaType& m_lambda_function;
151 std::tuple<Views...> m_views;