diff --git a/include/eigenpy/eigen-from-python.hpp b/include/eigenpy/eigen-from-python.hpp index c8556e36328f90e71e066b433952a94b608028af..aa002a8ef7274183dde227c07bc9727cb3c403d6 100644 --- a/include/eigenpy/eigen-from-python.hpp +++ b/include/eigenpy/eigen-from-python.hpp @@ -290,8 +290,10 @@ struct eigen_from_py_impl<MatType, Eigen::MatrixBase<MatType> > { static void registration(); }; -template <typename EigenType, typename _Scalar> -struct EigenFromPy : eigen_from_py_impl<EigenType> {}; +template <typename EigenType> +struct EigenFromPy<EigenType, + typename boost::remove_reference<EigenType>::type::Scalar> + : eigen_from_py_impl<EigenType> {}; template <typename MatType> void *eigen_from_py_impl<MatType, Eigen::MatrixBase<MatType> >::convertible( diff --git a/include/eigenpy/eigen-to-python.hpp b/include/eigenpy/eigen-to-python.hpp index 013f8cf71dfd9f4ec64073f08f8545fa852c7ef1..325ded7b5f765fd01af0ce50dc96544497dcbeeb 100644 --- a/include/eigenpy/eigen-to-python.hpp +++ b/include/eigenpy/eigen-to-python.hpp @@ -155,8 +155,10 @@ struct eigen_to_py_impl_tensor { EIGENPY_DOCUMENTATION_END_IGNORE -template <typename EigenType, typename Scalar> -struct EigenToPy : eigen_to_py_impl<EigenType> { +template <typename EigenType> +struct EigenToPy<EigenType, + typename boost::remove_reference<EigenType>::type::Scalar> + : eigen_to_py_impl<EigenType> { static PyTypeObject const* get_pytype() { return getPyArrayType(); } };