@@ -1043,17 +1043,17 @@ class shape {
10431043 using enable_if_same_rank = std::enable_if_t <(sizeof ...(Args) == rank())>;
10441044
10451045 template <class ... Args>
1046- using enable_if_indices =
1046+ using enable_if_all_indices =
10471047 std::enable_if_t <sizeof ...(Args) == rank() && internal::all_of_type<index_t , Args...>::value>;
10481048
10491049 template <class ... Args>
1050- using enable_if_slices =
1050+ using enable_if_any_slices =
10511051 std::enable_if_t <sizeof ...(Args) == rank() &&
10521052 internal::all_of_any_type<std::tuple<interval<>, dim<>>, Args...>::value &&
10531053 !internal::all_of_type<index_t , Args...>::value>;
10541054
10551055 template <class ... Args>
1056- using enable_if_slices_or_indices =
1056+ using enable_if_any_slices_or_indices =
10571057 std::enable_if_t <sizeof ...(Args) == rank() &&
10581058 internal::all_of_any_type<std::tuple<interval<>, dim<>>, Args...>::value>;
10591059
@@ -1110,11 +1110,11 @@ class shape {
11101110 }
11111111
11121112 /* * Returns `true` if the indices or intervals `args` are in interval of this shape. */
1113- template <class ... Args, class = enable_if_slices_or_indices <Args...>>
1113+ template <class ... Args, class = enable_if_any_slices_or_indices <Args...>>
11141114 NDARRAY_HOST_DEVICE bool is_in_range (const std::tuple<Args...>& args) const {
11151115 return internal::is_in_range (dims_, args, dim_indices ());
11161116 }
1117- template <class ... Args, class = enable_if_slices_or_indices <Args...>>
1117+ template <class ... Args, class = enable_if_any_slices_or_indices <Args...>>
11181118 NDARRAY_HOST_DEVICE bool is_in_range (Args... args) const {
11191119 return internal::is_in_range (dims_, std::make_tuple (args...), dim_indices ());
11201120 }
@@ -1123,21 +1123,21 @@ class shape {
11231123 NDARRAY_HOST_DEVICE index_t operator [](const index_type& indices) const {
11241124 return internal::flat_offset (dims_, indices, dim_indices ());
11251125 }
1126- template <class ... Args, class = enable_if_indices <Args...>>
1126+ template <class ... Args, class = enable_if_all_indices <Args...>>
11271127 NDARRAY_HOST_DEVICE index_t operator ()(Args... indices) const {
11281128 return internal::flat_offset (dims_, std::make_tuple (indices...), dim_indices ());
11291129 }
11301130
11311131 /* * Create a new shape from this shape using a indices or intervals `args`.
11321132 * Dimensions corresponding to indices in `args` are sliced, i.e. the result
11331133 * will not have this dimension. The rest of the dimensions are cropped. */
1134- template <class ... Args, class = enable_if_slices <Args...>>
1134+ template <class ... Args, class = enable_if_any_slices <Args...>>
11351135 NDARRAY_HOST_DEVICE auto operator [](const std::tuple<Args...>& args) const {
11361136 auto new_dims = internal::intervals_with_strides (args, dims_, dim_indices ());
11371137 auto new_dims_no_slices = internal::skip_slices (new_dims, args, dim_indices ());
11381138 return make_shape_from_tuple (new_dims_no_slices);
11391139 }
1140- template <class ... Args, class = enable_if_slices <Args...>>
1140+ template <class ... Args, class = enable_if_any_slices <Args...>>
11411141 NDARRAY_HOST_DEVICE auto operator ()(Args... args) const {
11421142 return operator [](std::make_tuple (args...));
11431143 }
@@ -1960,11 +1960,11 @@ class array_ref {
19601960 using enable_if_shape_compatible = internal::enable_if_shapes_compatible<Shape, OtherShape>;
19611961
19621962 template <class ... Args>
1963- using enable_if_indices =
1963+ using enable_if_all_indices =
19641964 std::enable_if_t <sizeof ...(Args) == rank() && internal::all_of_type<index_t , Args...>::value>;
19651965
19661966 template <class ... Args>
1967- using enable_if_slices =
1967+ using enable_if_any_slices =
19681968 std::enable_if_t <sizeof ...(Args) == rank() &&
19691969 internal::all_of_any_type<std::tuple<interval<>, dim<>>, Args...>::value &&
19701970 !internal::all_of_type<index_t , Args...>::value>;
@@ -2007,7 +2007,7 @@ class array_ref {
20072007 NDARRAY_HOST_DEVICE reference operator [](const index_type& indices) const {
20082008 return base_[shape_[indices]];
20092009 }
2010- template <class ... Args, class = enable_if_indices <Args...>>
2010+ template <class ... Args, class = enable_if_all_indices <Args...>>
20112011 NDARRAY_HOST_DEVICE reference operator ()(Args... indices) const {
20122012 return base_[shape_ (indices...)];
20132013 }
@@ -2016,11 +2016,11 @@ class array_ref {
20162016 * `args`. Dimensions corresponding to indices in `args` are sliced, i.e.
20172017 * the result will not have this dimension. The rest of the dimensions are
20182018 * cropped. */
2019- template <class ... Args, class = enable_if_slices <Args...>>
2019+ template <class ... Args, class = enable_if_any_slices <Args...>>
20202020 NDARRAY_HOST_DEVICE auto operator [](const std::tuple<Args...>& args) const {
20212021 return internal::make_array_ref_at (base_, shape_, args);
20222022 }
2023- template <class ... Args, class = enable_if_slices <Args...>>
2023+ template <class ... Args, class = enable_if_any_slices <Args...>>
20242024 NDARRAY_HOST_DEVICE auto operator ()(Args... args) const {
20252025 return internal::make_array_ref_at (base_, shape_, std::make_tuple (args...));
20262026 }
@@ -2178,11 +2178,11 @@ class array {
21782178
21792179private:
21802180 template <class ... Args>
2181- using enable_if_indices =
2181+ using enable_if_all_indices =
21822182 std::enable_if_t <sizeof ...(Args) == rank() && internal::all_of_type<index_t , Args...>::value>;
21832183
21842184 template <class ... Args>
2185- using enable_if_slices =
2185+ using enable_if_any_slices =
21862186 std::enable_if_t <sizeof ...(Args) == rank() &&
21872187 internal::all_of_any_type<std::tuple<interval<>, dim<>>, Args...>::value &&
21882188 !internal::all_of_type<index_t , Args...>::value>;
@@ -2460,31 +2460,31 @@ class array {
24602460 /* * Get a reference to the element at `indices`. */
24612461 reference operator [](const index_type& indices) { return base_[shape_[indices]]; }
24622462 const_reference operator [](const index_type& indices) const { return base_[shape_[indices]]; }
2463- template <class ... Args, class = enable_if_indices <Args...>>
2463+ template <class ... Args, class = enable_if_all_indices <Args...>>
24642464 reference operator ()(Args... indices) {
24652465 return base_[shape_ (indices...)];
24662466 }
2467- template <class ... Args, class = enable_if_indices <Args...>>
2467+ template <class ... Args, class = enable_if_all_indices <Args...>>
24682468 const_reference operator ()(Args... indices) const {
24692469 return base_[shape_ (indices...)];
24702470 }
24712471
24722472 /* * Create an `array_ref` from this array using indices or intervals `args`.
24732473 * Dimensions corresponding to indices in `args` are sliced, i.e. the result
24742474 * will not have this dimension. The rest of the dimensions are cropped. */
2475- template <class ... Args, class = enable_if_slices <Args...>>
2475+ template <class ... Args, class = enable_if_any_slices <Args...>>
24762476 auto operator [](const std::tuple<Args...>& args) {
24772477 return internal::make_array_ref_at (base_, shape_, args);
24782478 }
2479- template <class ... Args, class = enable_if_slices <Args...>>
2479+ template <class ... Args, class = enable_if_any_slices <Args...>>
24802480 auto operator ()(Args... args) {
24812481 return internal::make_array_ref_at (base_, shape_, std::make_tuple (args...));
24822482 }
2483- template <class ... Args, class = enable_if_slices <Args...>>
2483+ template <class ... Args, class = enable_if_any_slices <Args...>>
24842484 auto operator [](const std::tuple<Args...>& args) const {
24852485 return internal::make_array_ref_at (base_, shape_, args);
24862486 }
2487- template <class ... Args, class = enable_if_slices <Args...>>
2487+ template <class ... Args, class = enable_if_any_slices <Args...>>
24882488 auto operator ()(Args... args) const {
24892489 return internal::make_array_ref_at (base_, shape_, std::make_tuple (args...));
24902490 }
0 commit comments