@@ -1941,29 +1941,29 @@ class copy_shape_traits {
19411941 * or `sizeof...(LoopOrder)` `index_t` objects in the case of
19421942 * `for_all_indices<>`. */
19431943template <size_t ... LoopOrder, class Shape , class Fn ,
1944- class = internal::enable_if_callable<Fn, typename Shape::index_type> ,
1945- std:: enable_if_t <( sizeof ...(LoopOrder) == 0 ), int > = 0 >
1944+ std:: enable_if_t <( sizeof ...(LoopOrder) == 0 ), int > = 0 ,
1945+ class = internal::enable_if_callable<Fn, typename Shape::index_type> >
19461946NDARRAY_UNIQUE NDARRAY_HOST_DEVICE void for_each_index (const Shape& s, Fn&& fn) {
19471947 shape_traits<Shape>::for_each_index (s, fn);
19481948}
19491949template <size_t ... LoopOrder, class Shape , class Fn ,
1950- class = internal::enable_if_applicable<Fn, typename Shape::index_type> ,
1951- std:: enable_if_t <( sizeof ...(LoopOrder) == 0 ), int > = 0 >
1950+ std:: enable_if_t <( sizeof ...(LoopOrder) == 0 ), int > = 0 ,
1951+ class = internal::enable_if_applicable<Fn, typename Shape::index_type> >
19521952NDARRAY_UNIQUE NDARRAY_HOST_DEVICE void for_all_indices (const Shape& s, Fn&& fn) {
19531953 using index_type = typename Shape::index_type;
19541954 for_each_index (s, [fn = std::move (fn)](const index_type& i) { internal::apply (fn, i); });
19551955}
19561956template <size_t ... LoopOrder, class Shape , class Fn ,
1957- class = internal::enable_if_callable<Fn, index_of_rank< sizeof ...(LoopOrder)>> ,
1958- std:: enable_if_t <( sizeof ...(LoopOrder) != 0 ), int > = 0 >
1957+ std:: enable_if_t <( sizeof ...(LoopOrder) != 0 ), int > = 0 ,
1958+ class = internal::enable_if_callable<Fn, index_of_rank< sizeof ...(LoopOrder)>> >
19591959NDARRAY_UNIQUE NDARRAY_HOST_DEVICE void for_each_index (const Shape& s, Fn&& fn) {
19601960 using index_type = index_of_rank<sizeof ...(LoopOrder)>;
19611961 for_each_index_in_order (reorder<LoopOrder...>(s),
19621962 [fn = std::move (fn)](const index_type& i) { fn (internal::unshuffle<LoopOrder...>(i)); });
19631963}
19641964template <size_t ... LoopOrder, class Shape , class Fn ,
1965- class = internal::enable_if_callable<Fn, decltype (LoopOrder) ...> ,
1966- std:: enable_if_t <( sizeof ...(LoopOrder) != 0 ), int > = 0 >
1965+ std:: enable_if_t <( sizeof ...(LoopOrder) != 0 ), int > = 0 ,
1966+ class = internal::enable_if_callable<Fn, decltype (LoopOrder) ...> >
19671967NDARRAY_UNIQUE NDARRAY_HOST_DEVICE void for_all_indices (const Shape& s, Fn&& fn) {
19681968 using index_type = index_of_rank<sizeof ...(LoopOrder)>;
19691969 for_each_index_in_order (reorder<LoopOrder...>(s), [fn = std::move (fn)](const index_type& i) {
0 commit comments