diff --git a/include/eve/detail/apply_over.hpp b/include/eve/detail/apply_over.hpp index 3720d0970d..0cdfdad6e5 100644 --- a/include/eve/detail/apply_over.hpp +++ b/include/eve/detail/apply_over.hpp @@ -16,27 +16,14 @@ namespace eve::detail { - // ----------------------------------------------------------------------------------------------- - // N parameters apply_over template - EVE_FORCEINLINE auto apply_over(Obj f - , T0 const & arg0 - , T const &... args ) noexcept + EVE_FORCEINLINE auto apply_over(Obj f, T0 const & arg0, T const &... args) noexcept requires simd_value || (simd_value || ...) { constexpr bool any_aggregated = has_aggregated_abi_v || (has_aggregated_abi_v || ...); constexpr bool any_emulated = has_emulated_abi_v || (has_emulated_abi_v || ...); - if constexpr(any_aggregated) return aggregate(f, arg0, args...); + if constexpr(any_aggregated) return aggregate(f, arg0, args...); else if constexpr(any_emulated) return map(f, arg0, args...); else return f(arg0, args...); - - } - - template - EVE_FORCEINLINE auto apply_over(Obj f, T const & v) - { - if constexpr(has_aggregated_abi_v) return aggregate(f, v); - else if constexpr(has_emulated_abi_v) return map(f, v); - else return f(v); } }