diff --git a/dune/common/hybridutilities.hh b/dune/common/hybridutilities.hh index 75b559825a66689251a7fab0126a9f4acd34146c..db7b9c1b616724c45f63b04645dd71b5dc109a15 100644 --- a/dune/common/hybridutilities.hh +++ b/dune/common/hybridutilities.hh @@ -262,6 +262,13 @@ namespace Impl { evaluateFoldExpression<int>({(f(Hybrid::elementAt(range, std::integral_constant<Index,i>())), 0)...}); } + template<class F, class Index, Index... i> + constexpr void forEach(std::integer_sequence<Index, i...> range, F&& f, PriorityTag<2>) + { + evaluateFoldExpression<int>({(f(std::integral_constant<Index,i>()), 0)...}); + } + + template<class Range, class F, std::enable_if_t<IsIntegralConstant<decltype(Hybrid::size(std::declval<Range>()))>::value, int> = 0> constexpr void forEach(Range&& range, F&& f, PriorityTag<1>)