@@ -26,8 +26,7 @@ namespace pybind11
2626 template <typename T, xt::layout_type L>
2727 struct xtensor_get_buffer
2828 {
29- template <typename H>
30- static auto get (H src)
29+ static auto get (handle src)
3130 {
3231 return array_t <T, array::c_style | array::forcecast>::ensure (src);
3332 }
@@ -36,8 +35,7 @@ namespace pybind11
3635 template <typename T>
3736 struct xtensor_get_buffer <T, xt::layout_type::column_major>
3837 {
39- template <typename H>
40- static auto get (H src)
38+ static auto get (handle src)
4139 {
4240 return array_t <T, array::f_style>::ensure (src);
4341 }
@@ -51,8 +49,7 @@ namespace pybind11
5149 template <class T , xt::layout_type L>
5250 struct xtensor_check_buffer <xt::xarray<T, L>>
5351 {
54- template <typename H>
55- static auto get (H src)
52+ static auto get (handle src)
5653 {
5754 auto buf = xtensor_get_buffer<T, L>::get (src);
5855 return buf;
@@ -62,8 +59,7 @@ namespace pybind11
6259 template <class T , std::size_t N, xt::layout_type L>
6360 struct xtensor_check_buffer <xt::xtensor<T, N, L>>
6461 {
65- template <typename H>
66- static auto get (H src)
62+ static auto get (handle src)
6763 {
6864 auto buf = xtensor_get_buffer<T, L>::get (src);
6965 if (buf.ndim () != N) {
@@ -76,8 +72,7 @@ namespace pybind11
7672 template <class CT , class S , xt::layout_type L, class FST >
7773 struct xtensor_check_buffer <xt::xstrided_view<CT, S, L, FST>>
7874 {
79- template <typename H>
80- static auto get (H /* src*/ )
75+ static auto get (handle /* src*/ )
8176 {
8277 return false ;
8378 }
@@ -86,18 +81,17 @@ namespace pybind11
8681 template <class EC , xt::layout_type L, class SC , class Tag >
8782 struct xtensor_check_buffer <xt::xarray_adaptor<EC, L, SC, Tag>>
8883 {
89- template <typename H>
90- static auto get (H /* src*/ )
84+ static auto get (handle src)
9185 {
92- return false ;
86+ auto buf = xtensor_get_buffer<EC, L>::get (src);
87+ return buf;
9388 }
9489 };
9590
9691 template <class EC , std::size_t N, xt::layout_type L, class Tag >
9792 struct xtensor_check_buffer <xt::xtensor_adaptor<EC, N, L, Tag>>
9893 {
99- template <typename H>
100- static auto get (H /* src*/ )
94+ static auto get (handle /* src*/ )
10195 {
10296 return false ;
10397 }
0 commit comments