Skip to content
Snippets Groups Projects
Verified Commit 44e2f48e authored by Justin Carpentier's avatar Justin Carpentier
Browse files

core: fix compatibility with Boost.Python >= 1.77

parent f4865373
No related branches found
No related tags found
No related merge requests found
Pipeline #15820 failed
...@@ -41,10 +41,16 @@ namespace eigenpy ...@@ -41,10 +41,16 @@ namespace eigenpy
struct referent_storage_eigen_ref struct referent_storage_eigen_ref
{ {
typedef Eigen::Ref<MatType,Options,Stride> RefType; typedef Eigen::Ref<MatType,Options,Stride> RefType;
#if BOOST_VERSION / 100 % 1000 >= 77
typedef typename aligned_storage<
::boost::python::detail::referent_size<RefType&>::value,
::boost::alignment_of<RefType&>::value
>::type type;
#else
typedef ::boost::python::detail::aligned_storage< typedef ::boost::python::detail::aligned_storage<
::boost::python::detail::referent_size<RefType&>::value ::boost::python::detail::referent_size<RefType&>::value
> AlignedStorage; > AlignedStorage;
#endif
referent_storage_eigen_ref() referent_storage_eigen_ref()
: pyArray(NULL) : pyArray(NULL)
...@@ -93,14 +99,22 @@ namespace boost { namespace python { namespace detail { ...@@ -93,14 +99,22 @@ namespace boost { namespace python { namespace detail {
struct referent_storage<Eigen::Ref<MatType,Options,Stride> &> struct referent_storage<Eigen::Ref<MatType,Options,Stride> &>
{ {
typedef ::eigenpy::details::referent_storage_eigen_ref<MatType,Options,Stride> StorageType; typedef ::eigenpy::details::referent_storage_eigen_ref<MatType,Options,Stride> StorageType;
#if BOOST_VERSION / 100 % 1000 >= 77
typedef typename aligned_storage<referent_size<StorageType&>::value>::type type;
#else
typedef aligned_storage<referent_size<StorageType&>::value> type; typedef aligned_storage<referent_size<StorageType&>::value> type;
#endif
}; };
template<typename MatType, int Options, typename Stride> template<typename MatType, int Options, typename Stride>
struct referent_storage<const Eigen::Ref<const MatType,Options,Stride> &> struct referent_storage<const Eigen::Ref<const MatType,Options,Stride> &>
{ {
typedef ::eigenpy::details::referent_storage_eigen_ref<const MatType,Options,Stride> StorageType; typedef ::eigenpy::details::referent_storage_eigen_ref<const MatType,Options,Stride> StorageType;
#if BOOST_VERSION / 100 % 1000 >= 77
typedef typename aligned_storage<referent_size<StorageType&>::value, alignment_of<StorageType&>::value>::type type;
#else
typedef aligned_storage<referent_size<StorageType&>::value> type; typedef aligned_storage<referent_size<StorageType&>::value> type;
#endif
}; };
#endif #endif
}}} }}}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment