From 6aa5fc89e41cbc132d342f2093669f2cc8d2c5c6 Mon Sep 17 00:00:00 2001 From: Justin Carpentier <justin.carpentier@inria.fr> Date: Sun, 19 Feb 2023 18:41:50 +0100 Subject: [PATCH] core: add get_eigen_base_type --- include/eigenpy/fwd.hpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/include/eigenpy/fwd.hpp b/include/eigenpy/fwd.hpp index 557fda4..bb8a191 100644 --- a/include/eigenpy/fwd.hpp +++ b/include/eigenpy/fwd.hpp @@ -122,6 +122,24 @@ template <typename MatType, typename Scalar = typename boost::remove_reference<MatType>::type::Scalar> struct EigenFromPy; + +template <typename EigenType> +struct get_eigen_base_type { + typedef typename boost::remove_const<EigenType>::type EigenType_; + typedef typename boost::mpl::if_< + boost::is_base_of<Eigen::MatrixBase<EigenType_>, EigenType_>, + Eigen::MatrixBase<EigenType> +#ifdef EIGENPY_WITH_TENSOR_SUPPORT + , + typename boost::mpl::if_< + boost::is_base_of<Eigen::TensorBase<EigenType_>, EigenType_>, + Eigen::TensorBase<EigenType>, void>::type +#else + , + void +#endif + >::type type; +}; } // namespace eigenpy #include "eigenpy/alignment.hpp" -- GitLab