From f4865373a2ad5dcb2d03f530837e9f25f10ba24f Mon Sep 17 00:00:00 2001 From: Justin Carpentier Date: Fri, 27 Aug 2021 11:43:58 +0200 Subject: [PATCH 1/3] core: fix typedef --- include/eigenpy/eigen-from-python.hpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/include/eigenpy/eigen-from-python.hpp b/include/eigenpy/eigen-from-python.hpp index ee879f6f1..1b8d1dabc 100644 --- a/include/eigenpy/eigen-from-python.hpp +++ b/include/eigenpy/eigen-from-python.hpp @@ -93,18 +93,14 @@ namespace boost { namespace python { namespace detail { struct referent_storage &> { typedef ::eigenpy::details::referent_storage_eigen_ref StorageType; - typedef aligned_storage< - ::boost::python::detail::referent_size::value - > type; + typedef aligned_storage::value> type; }; template struct referent_storage &> { typedef ::eigenpy::details::referent_storage_eigen_ref StorageType; - typedef aligned_storage< - ::boost::python::detail::referent_size::value - > type; + typedef aligned_storage::value> type; }; #endif }}} From 44e2f48e8dec1d59877f997f5558545ddfcc1425 Mon Sep 17 00:00:00 2001 From: Justin Carpentier Date: Fri, 27 Aug 2021 11:58:17 +0200 Subject: [PATCH 2/3] core: fix compatibility with Boost.Python >= 1.77 --- include/eigenpy/eigen-from-python.hpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/include/eigenpy/eigen-from-python.hpp b/include/eigenpy/eigen-from-python.hpp index 1b8d1dabc..cf12a9f0d 100644 --- a/include/eigenpy/eigen-from-python.hpp +++ b/include/eigenpy/eigen-from-python.hpp @@ -41,10 +41,16 @@ namespace eigenpy struct referent_storage_eigen_ref { typedef Eigen::Ref RefType; - +#if BOOST_VERSION / 100 % 1000 >= 77 + typedef typename aligned_storage< + ::boost::python::detail::referent_size::value, + ::boost::alignment_of::value + >::type type; +#else typedef ::boost::python::detail::aligned_storage< ::boost::python::detail::referent_size::value > AlignedStorage; +#endif referent_storage_eigen_ref() : pyArray(NULL) @@ -93,14 +99,22 @@ namespace boost { namespace python { namespace detail { struct referent_storage &> { typedef ::eigenpy::details::referent_storage_eigen_ref StorageType; +#if BOOST_VERSION / 100 % 1000 >= 77 + typedef typename aligned_storage::value>::type type; +#else typedef aligned_storage::value> type; +#endif }; template struct referent_storage &> { typedef ::eigenpy::details::referent_storage_eigen_ref StorageType; +#if BOOST_VERSION / 100 % 1000 >= 77 + typedef typename aligned_storage::value, alignment_of::value>::type type; +#else typedef aligned_storage::value> type; +#endif }; #endif }}} From 7bb3f89ff0390af3f101042c373bfc727d279b87 Mon Sep 17 00:00:00 2001 From: Justin Carpentier Date: Fri, 27 Aug 2021 13:21:09 +0200 Subject: [PATCH 3/3] core: fix typedef --- include/eigenpy/eigen-from-python.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/eigenpy/eigen-from-python.hpp b/include/eigenpy/eigen-from-python.hpp index cf12a9f0d..a19938d2e 100644 --- a/include/eigenpy/eigen-from-python.hpp +++ b/include/eigenpy/eigen-from-python.hpp @@ -42,10 +42,10 @@ namespace eigenpy { typedef Eigen::Ref RefType; #if BOOST_VERSION / 100 % 1000 >= 77 - typedef typename aligned_storage< + typedef typename ::boost::python::detail::aligned_storage< ::boost::python::detail::referent_size::value, ::boost::alignment_of::value - >::type type; + >::type AlignedStorage; #else typedef ::boost::python::detail::aligned_storage< ::boost::python::detail::referent_size::value