@@ -35,12 +35,12 @@ namespace eigenpy
3535 };
3636
3737#if EIGEN_VERSION_AT_LEAST(3,2,0)
38- template <typename MatType> struct referent_storage_eigen_ref ;
38+ template <typename MatType, int Options, typename Stride > struct referent_storage_eigen_ref ;
3939
40- template <typename MatType>
40+ template <typename MatType, int Options, typename Stride >
4141 struct referent_storage_eigen_ref
4242 {
43- typedef Eigen::Ref<MatType> RefType;
43+ typedef Eigen::Ref<MatType,Options,Stride > RefType;
4444
4545 typedef ::boost::python::detail::aligned_storage<
4646 ::boost::python::detail::referent_size<RefType&>::value
@@ -89,10 +89,10 @@ namespace eigenpy
8989
9090namespace boost { namespace python { namespace detail {
9191#if EIGEN_VERSION_AT_LEAST(3,2,0)
92- template <typename MatType>
93- struct referent_storage <Eigen::Ref<MatType> &>
92+ template <typename MatType, int Options, typename Stride >
93+ struct referent_storage <Eigen::Ref<MatType,Options,Stride > &>
9494 {
95- typedef ::eigenpy::details::referent_storage_eigen_ref<MatType> StorageType;
95+ typedef ::eigenpy::details::referent_storage_eigen_ref<MatType,Options,Stride > StorageType;
9696 typedef aligned_storage<
9797 ::boost::python::detail::referent_size<StorageType&>::value
9898 > type;
@@ -166,10 +166,10 @@ namespace boost { namespace python { namespace converter {
166166
167167#undef RVALUE_FROM_PYTHON_DATA_INIT
168168
169- template <typename MatType>
170- struct rvalue_from_python_data <Eigen::Ref<MatType> &> : rvalue_from_python_storage<Eigen::Ref<MatType> &>
169+ template <typename MatType, int Options, typename Stride >
170+ struct rvalue_from_python_data <Eigen::Ref<MatType,Options,Stride > &> : rvalue_from_python_storage<Eigen::Ref<MatType,Options,Stride > &>
171171 {
172- typedef Eigen::Ref<MatType> T;
172+ typedef Eigen::Ref<MatType,Options,Stride > T;
173173
174174# if (!defined(__MWERKS__) || __MWERKS__ >= 0x3000) \
175175&& (!defined (__EDG_VERSION__) || __EDG_VERSION__ >= 245 ) \
@@ -196,7 +196,7 @@ namespace boost { namespace python { namespace converter {
196196 // Destroys any object constructed in the storage.
197197 ~rvalue_from_python_data ()
198198 {
199- typedef ::eigenpy::details::referent_storage_eigen_ref<MatType> StorageType;
199+ typedef ::eigenpy::details::referent_storage_eigen_ref<MatType, Options,Stride > StorageType;
200200 if (this ->stage1 .convertible == this ->storage .bytes )
201201 static_cast <StorageType *>((void *)this ->storage .bytes )->~StorageType ();
202202 }
@@ -418,10 +418,10 @@ namespace eigenpy
418418
419419#if EIGEN_VERSION_AT_LEAST(3,2,0)
420420
421- template <typename MatType, int Options, typename StrideType >
422- struct EigenFromPy <Eigen::Ref<MatType,Options,StrideType > >
421+ template <typename MatType, int Options, typename Stride >
422+ struct EigenFromPy <Eigen::Ref<MatType,Options,Stride > >
423423 {
424- typedef Eigen::Ref<MatType,Options,StrideType > RefType;
424+ typedef Eigen::Ref<MatType,Options,Stride > RefType;
425425 typedef typename MatType::Scalar Scalar;
426426
427427 // / \brief Determine if pyObj can be converted into a MatType object
0 commit comments