From 81e364c990ce9bbd55055eb399d2acf2580952b2 Mon Sep 17 00:00:00 2001
From: Justin Carpentier <justin.carpentier@inria.fr>
Date: Wed, 19 Feb 2020 23:29:48 +0100
Subject: [PATCH] core: template specialization for sized
 Eigen::{MatrixBase,EigenBase}

---
 include/eigenpy/details.hpp | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/include/eigenpy/details.hpp b/include/eigenpy/details.hpp
index 2fa0de5e..9a5bddf7 100644
--- a/include/eigenpy/details.hpp
+++ b/include/eigenpy/details.hpp
@@ -20,6 +20,24 @@
 
 #define GET_PY_ARRAY_TYPE(array) PyArray_ObjectType(reinterpret_cast<PyObject *>(array), 0)
 
+namespace boost { namespace python { namespace detail {
+
+  template<class MatType>
+  struct referent_size<Eigen::MatrixBase<MatType>&>
+  {
+      BOOST_STATIC_CONSTANT(
+          std::size_t, value = sizeof(MatType));
+  };
+
+  template<class MatType>
+  struct referent_size<Eigen::EigenBase<MatType>&>
+  {
+      BOOST_STATIC_CONSTANT(
+          std::size_t, value = sizeof(MatType));
+  };
+
+}}}
+
 namespace eigenpy
 {
   template <typename SCALAR>  struct NumpyEquivalentType {};
-- 
GitLab