diff --git a/Eigen/src/Array/ArrayBase.h b/Eigen/src/Array/ArrayBase.h index c961911bb..c507b7694 100644 --- a/Eigen/src/Array/ArrayBase.h +++ b/Eigen/src/Array/ArrayBase.h @@ -54,8 +54,6 @@ template class ArrayBase #ifndef EIGEN_PARSED_BY_DOXYGEN /** The base class for a given storage type. */ typedef ArrayBase StorageBaseType; - /** Construct the base class type for the derived class OtherDerived */ - template struct MakeBase { typedef ArrayBase Type; }; using ei_special_scalar_op_base::Scalar, typename NumTraits::Scalar>::Real>::operator*; diff --git a/Eigen/src/Array/Replicate.h b/Eigen/src/Array/Replicate.h index e75bfd3a9..63e4683b7 100644 --- a/Eigen/src/Array/Replicate.h +++ b/Eigen/src/Array/Replicate.h @@ -44,6 +44,7 @@ struct ei_traits > { typedef typename MatrixType::Scalar Scalar; typedef typename ei_traits::StorageKind StorageKind; + typedef typename ei_traits::XprKind XprKind; typedef typename ei_nested::type MatrixTypeNested; typedef typename ei_unref::type _MatrixTypeNested; enum { @@ -65,11 +66,11 @@ struct ei_traits > }; template class Replicate - : public MatrixType::template MakeBase< Replicate >::Type + : public ei_dense_xpr_base< Replicate >::type { public: - typedef typename MatrixType::template MakeBase< Replicate >::Type Base; + typedef typename ei_dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(Replicate) template diff --git a/Eigen/src/Array/Reverse.h b/Eigen/src/Array/Reverse.h index 305774c68..0f56d5d5c 100644 --- a/Eigen/src/Array/Reverse.h +++ b/Eigen/src/Array/Reverse.h @@ -47,6 +47,7 @@ struct ei_traits > { typedef typename MatrixType::Scalar Scalar; typedef typename ei_traits::StorageKind StorageKind; + typedef typename ei_traits::XprKind XprKind; typedef typename ei_nested::type MatrixTypeNested; typedef typename ei_unref::type _MatrixTypeNested; enum { @@ -75,11 +76,11 @@ template struct ei_reverse_packet_cond class Reverse - : public MatrixType::template MakeBase< Reverse >::Type + : public ei_dense_xpr_base< Reverse >::type { public: - typedef typename MatrixType::template MakeBase< Reverse >::Type Base; + typedef typename ei_dense_xpr_base::type Base; EIGEN_DENSE_PUBLIC_INTERFACE(Reverse) using Base::IsRowMajor; diff --git a/Eigen/src/Array/Select.h b/Eigen/src/Array/Select.h index 53506ae5d..100a26445 100644 --- a/Eigen/src/Array/Select.h +++ b/Eigen/src/Array/Select.h @@ -47,6 +47,7 @@ struct ei_traits > { typedef typename ei_traits::Scalar Scalar; typedef Dense StorageKind; + typedef typename ei_traits::XprKind XprKind; typedef typename ConditionMatrixType::Nested ConditionMatrixNested; typedef typename ThenMatrixType::Nested ThenMatrixNested; typedef typename ElseMatrixType::Nested ElseMatrixNested; @@ -64,11 +65,11 @@ struct ei_traits > template class Select : ei_no_assignment_operator, - public ThenMatrixType::template MakeBase< Select >::Type + public ei_dense_xpr_base< Select >::type { public: - typedef typename ThenMatrixType::template MakeBase< Select >::Type Base; + typedef typename ei_dense_xpr_base