diff --git a/Eigen/src/Core/ArrayWrapper.h b/Eigen/src/Core/ArrayWrapper.h index 814313f20..d5b8c6804 100644 --- a/Eigen/src/Core/ArrayWrapper.h +++ b/Eigen/src/Core/ArrayWrapper.h @@ -39,7 +39,7 @@ namespace internal { template struct traits > - : public traits::type > + : public traits::type > { typedef ArrayXpr XprKind; }; @@ -127,7 +127,7 @@ class ArrayWrapper : public ArrayBase > namespace internal { template struct traits > - : public traits::type > + : public traits::type > { typedef MatrixXpr XprKind; }; diff --git a/Eigen/src/Core/CwiseBinaryOp.h b/Eigen/src/Core/CwiseBinaryOp.h index 9b5908532..7386b2e18 100644 --- a/Eigen/src/Core/CwiseBinaryOp.h +++ b/Eigen/src/Core/CwiseBinaryOp.h @@ -52,7 +52,7 @@ struct traits > { // we must not inherit from traits since it has // the potential to cause problems with MSVC - typedef typename cleantype::type Ancestor; + typedef typename remove_all::type Ancestor; typedef typename traits::XprKind XprKind; enum { RowsAtCompileTime = traits::RowsAtCompileTime, @@ -146,14 +146,14 @@ class CwiseBinaryOp : internal::no_assignment_operator, EIGEN_STRONG_INLINE Index rows() const { // return the fixed size type if available to enable compile time optimizations - if (internal::traits::type>::RowsAtCompileTime==Dynamic) + if (internal::traits::type>::RowsAtCompileTime==Dynamic) return m_rhs.rows(); else return m_lhs.rows(); } EIGEN_STRONG_INLINE Index cols() const { // return the fixed size type if available to enable compile time optimizations - if (internal::traits::type>::ColsAtCompileTime==Dynamic) + if (internal::traits::type>::ColsAtCompileTime==Dynamic) return m_rhs.cols(); else return m_lhs.cols(); diff --git a/Eigen/src/Core/CwiseUnaryOp.h b/Eigen/src/Core/CwiseUnaryOp.h index 7bc813d14..958571d64 100644 --- a/Eigen/src/Core/CwiseUnaryOp.h +++ b/Eigen/src/Core/CwiseUnaryOp.h @@ -87,11 +87,11 @@ class CwiseUnaryOp : internal::no_assignment_operator, const UnaryOp& functor() const { return m_functor; } /** \returns the nested expression */ - const typename internal::cleantype::type& + const typename internal::remove_all::type& nestedExpression() const { return m_xpr; } /** \returns the nested expression */ - typename internal::cleantype::type& + typename internal::remove_all::type& nestedExpression() { return m_xpr.const_cast_derived(); } protected: diff --git a/Eigen/src/Core/CwiseUnaryView.h b/Eigen/src/Core/CwiseUnaryView.h index 8b5a69513..d24ef0373 100644 --- a/Eigen/src/Core/CwiseUnaryView.h +++ b/Eigen/src/Core/CwiseUnaryView.h @@ -48,7 +48,7 @@ struct traits > ViewOp(typename traits::Scalar) >::type Scalar; typedef typename MatrixType::Nested MatrixTypeNested; - typedef typename cleantype::type _MatrixTypeNested; + typedef typename remove_all::type _MatrixTypeNested; enum { Flags = (traits<_MatrixTypeNested>::Flags & (HereditaryBits | LvalueBit | LinearAccessBit | DirectAccessBit)), CoeffReadCost = traits<_MatrixTypeNested>::CoeffReadCost + functor_traits::Cost, @@ -88,11 +88,11 @@ class CwiseUnaryView : internal::no_assignment_operator, const ViewOp& functor() const { return m_functor; } /** \returns the nested expression */ - const typename internal::cleantype::type& + const typename internal::remove_all::type& nestedExpression() const { return m_matrix; } /** \returns the nested expression */ - typename internal::cleantype::type& + typename internal::remove_all::type& nestedExpression() { return m_matrix.const_cast_derived(); } protected: diff --git a/Eigen/src/Core/NoAlias.h b/Eigen/src/Core/NoAlias.h index fe63477bc..da64affcf 100644 --- a/Eigen/src/Core/NoAlias.h +++ b/Eigen/src/Core/NoAlias.h @@ -60,7 +60,7 @@ class NoAlias typedef SelfCwiseBinaryOp, ExpressionType, OtherDerived> SelfAdder; SelfAdder tmp(m_expression); typedef typename internal::nested::type OtherDerivedNested; - typedef typename internal::cleantype::type _OtherDerivedNested; + typedef typename internal::remove_all::type _OtherDerivedNested; internal::assign_selector::run(tmp,OtherDerivedNested(other.derived())); return m_expression; } @@ -72,7 +72,7 @@ class NoAlias typedef SelfCwiseBinaryOp, ExpressionType, OtherDerived> SelfAdder; SelfAdder tmp(m_expression); typedef typename internal::nested::type OtherDerivedNested; - typedef typename internal::cleantype::type _OtherDerivedNested; + typedef typename internal::remove_all::type _OtherDerivedNested; internal::assign_selector::run(tmp,OtherDerivedNested(other.derived())); return m_expression; } diff --git a/Eigen/src/Core/PermutationMatrix.h b/Eigen/src/Core/PermutationMatrix.h index e5e5d593a..1f333adea 100644 --- a/Eigen/src/Core/PermutationMatrix.h +++ b/Eigen/src/Core/PermutationMatrix.h @@ -340,7 +340,7 @@ template > { - typedef typename cleantype::type MatrixTypeNestedCleaned; + typedef typename remove_all::type MatrixTypeNestedCleaned; permut_matrix_product_retval(const PermutationType& perm, const MatrixType& matrix) : m_permutation(perm), m_matrix(matrix) diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index c04701492..c8b5b6b52 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -59,8 +59,8 @@ template struct product_type_selector; template struct product_type { - typedef typename cleantype::type _Lhs; - typedef typename cleantype::type _Rhs; + typedef typename remove_all::type _Lhs; + typedef typename remove_all::type _Rhs; enum { Rows = _Lhs::MaxRowsAtCompileTime, Cols = _Rhs::MaxColsAtCompileTime, diff --git a/Eigen/src/Core/ProductBase.h b/Eigen/src/Core/ProductBase.h index d45819132..e2406839e 100644 --- a/Eigen/src/Core/ProductBase.h +++ b/Eigen/src/Core/ProductBase.h @@ -35,8 +35,8 @@ template struct traits > { typedef MatrixXpr XprKind; - typedef typename cleantype<_Lhs>::type Lhs; - typedef typename cleantype<_Rhs>::type Rhs; + typedef typename remove_all<_Lhs>::type Lhs; + typedef typename remove_all<_Rhs>::type Rhs; typedef typename scalar_product_traits::ReturnType Scalar; typedef typename promote_storage_type::StorageKind, typename traits::StorageKind>::ret StorageKind; @@ -80,16 +80,16 @@ class ProductBase : public MatrixBase EIGEN_DENSE_PUBLIC_INTERFACE(ProductBase) protected: typedef typename Lhs::Nested LhsNested; - typedef typename internal::cleantype::type _LhsNested; + typedef typename internal::remove_all::type _LhsNested; typedef internal::blas_traits<_LhsNested> LhsBlasTraits; typedef typename LhsBlasTraits::DirectLinearAccessType ActualLhsType; - typedef typename internal::cleantype::type _ActualLhsType; + typedef typename internal::remove_all::type _ActualLhsType; typedef typename Rhs::Nested RhsNested; - typedef typename internal::cleantype::type _RhsNested; + typedef typename internal::remove_all::type _RhsNested; typedef internal::blas_traits<_RhsNested> RhsBlasTraits; typedef typename RhsBlasTraits::DirectLinearAccessType ActualRhsType; - typedef typename internal::cleantype::type _ActualRhsType; + typedef typename internal::remove_all::type _ActualRhsType; // Diagonal of a product: no need to evaluate the arguments because they are going to be evaluated only once typedef CoeffBasedProduct FullyLazyCoeffBaseProductType; diff --git a/Eigen/src/Core/Redux.h b/Eigen/src/Core/Redux.h index f5a584cd4..25febb773 100644 --- a/Eigen/src/Core/Redux.h +++ b/Eigen/src/Core/Redux.h @@ -325,7 +325,7 @@ template EIGEN_STRONG_INLINE typename internal::result_of::Scalar)>::type DenseBase::redux(const Func& func) const { - typedef typename internal::cleantype::type ThisNested; + typedef typename internal::remove_all::type ThisNested; return internal::redux_impl ::run(derived(), func); } diff --git a/Eigen/src/Core/Select.h b/Eigen/src/Core/Select.h index bad6a74f9..d0cd66a26 100644 --- a/Eigen/src/Core/Select.h +++ b/Eigen/src/Core/Select.h @@ -57,9 +57,9 @@ struct traits > MaxRowsAtCompileTime = ConditionMatrixType::MaxRowsAtCompileTime, MaxColsAtCompileTime = ConditionMatrixType::MaxColsAtCompileTime, Flags = (unsigned int)ThenMatrixType::Flags & ElseMatrixType::Flags & HereditaryBits, - CoeffReadCost = traits::type>::CoeffReadCost - + EIGEN_SIZE_MAX(traits::type>::CoeffReadCost, - traits::type>::CoeffReadCost) + CoeffReadCost = traits::type>::CoeffReadCost + + EIGEN_SIZE_MAX(traits::type>::CoeffReadCost, + traits::type>::CoeffReadCost) }; }; } diff --git a/Eigen/src/Core/Transpose.h b/Eigen/src/Core/Transpose.h index b3159a3c5..394b375ab 100644 --- a/Eigen/src/Core/Transpose.h +++ b/Eigen/src/Core/Transpose.h @@ -80,11 +80,11 @@ template class Transpose inline Index cols() const { return m_matrix.rows(); } /** \returns the nested expression */ - const typename internal::cleantype::type& + const typename internal::remove_all::type& nestedExpression() const { return m_matrix; } /** \returns the nested expression */ - typename internal::cleantype::type& + typename internal::remove_all::type& nestedExpression() { return m_matrix.const_cast_derived(); } protected: diff --git a/Eigen/src/Core/Transpositions.h b/Eigen/src/Core/Transpositions.h index 32a9f1fec..9735b4eea 100644 --- a/Eigen/src/Core/Transpositions.h +++ b/Eigen/src/Core/Transpositions.h @@ -225,7 +225,7 @@ template > { - typedef typename cleantype::type MatrixTypeNestedCleaned; + typedef typename remove_all::type MatrixTypeNestedCleaned; typedef typename TranspositionType::Index Index; transposition_matrix_product_retval(const TranspositionType& tr, const MatrixType& matrix) diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h index 76f07b892..e361af643 100644 --- a/Eigen/src/Core/TriangularMatrix.h +++ b/Eigen/src/Core/TriangularMatrix.h @@ -162,8 +162,8 @@ template class TriangularView protected: typedef typename MatrixType::Nested MatrixTypeNested; - typedef typename internal::cleantype::type _MatrixTypeNested; - typedef typename internal::cleantype::type MatrixConjugateReturnType; + typedef typename internal::remove_all::type _MatrixTypeNested; + typedef typename internal::remove_all::type MatrixConjugateReturnType; public: using Base::evalToLazy; diff --git a/Eigen/src/Core/VectorwiseOp.h b/Eigen/src/Core/VectorwiseOp.h index 8cd516479..ab6089794 100644 --- a/Eigen/src/Core/VectorwiseOp.h +++ b/Eigen/src/Core/VectorwiseOp.h @@ -55,7 +55,7 @@ struct traits > typedef typename traits::XprKind XprKind; typedef typename MatrixType::Scalar InputScalar; typedef typename nested::type MatrixTypeNested; - typedef typename cleantype::type _MatrixTypeNested; + typedef typename remove_all::type _MatrixTypeNested; enum { RowsAtCompileTime = Direction==Vertical ? 1 : MatrixType::RowsAtCompileTime, ColsAtCompileTime = Direction==Horizontal ? 1 : MatrixType::ColsAtCompileTime, diff --git a/Eigen/src/Core/products/CoeffBasedProduct.h b/Eigen/src/Core/products/CoeffBasedProduct.h index 97cdddcdf..8605011da 100644 --- a/Eigen/src/Core/products/CoeffBasedProduct.h +++ b/Eigen/src/Core/products/CoeffBasedProduct.h @@ -51,8 +51,8 @@ template struct traits > { typedef MatrixXpr XprKind; - typedef typename cleantype::type _LhsNested; - typedef typename cleantype::type _RhsNested; + typedef typename remove_all::type _LhsNested; + typedef typename remove_all::type _RhsNested; typedef typename scalar_product_traits::ReturnType Scalar; typedef typename promote_storage_type::StorageKind, typename traits<_RhsNested>::StorageKind>::ret StorageKind; diff --git a/Eigen/src/Core/products/SelfadjointProduct.h b/Eigen/src/Core/products/SelfadjointProduct.h index 26aa65cca..16320fa17 100644 --- a/Eigen/src/Core/products/SelfadjointProduct.h +++ b/Eigen/src/Core/products/SelfadjointProduct.h @@ -203,7 +203,7 @@ SelfAdjointView& SelfAdjointView { typedef internal::blas_traits UBlasTraits; typedef typename UBlasTraits::DirectLinearAccessType ActualUType; - typedef typename internal::cleantype::type _ActualUType; + typedef typename internal::remove_all::type _ActualUType; const ActualUType actualU = UBlasTraits::extract(u.derived()); Scalar actualAlpha = alpha * UBlasTraits::extractScalarFactor(u.derived()); diff --git a/Eigen/src/Core/products/SelfadjointRank2Update.h b/Eigen/src/Core/products/SelfadjointRank2Update.h index ece4c426b..41968a596 100644 --- a/Eigen/src/Core/products/SelfadjointRank2Update.h +++ b/Eigen/src/Core/products/SelfadjointRank2Update.h @@ -75,12 +75,12 @@ SelfAdjointView& SelfAdjointView { typedef internal::blas_traits UBlasTraits; typedef typename UBlasTraits::DirectLinearAccessType ActualUType; - typedef typename internal::cleantype::type _ActualUType; + typedef typename internal::remove_all::type _ActualUType; const ActualUType actualU = UBlasTraits::extract(u.derived()); typedef internal::blas_traits VBlasTraits; typedef typename VBlasTraits::DirectLinearAccessType ActualVType; - typedef typename internal::cleantype::type _ActualVType; + typedef typename internal::remove_all::type _ActualVType; const ActualVType actualV = VBlasTraits::extract(v.derived()); Scalar actualAlpha = alpha * UBlasTraits::extractScalarFactor(u.derived()) @@ -88,8 +88,8 @@ SelfAdjointView& SelfAdjointView enum { IsRowMajor = (internal::traits::Flags&RowMajorBit) ? 1 : 0 }; internal::selfadjoint_rank2_update_selector::type>::type, - typename internal::cleantype::type>::type, + typename internal::remove_all::type>::type, + typename internal::remove_all::type>::type, (IsRowMajor ? int(UpLo==Upper ? Lower : Upper) : UpLo)> ::run(const_cast(_expression().data()),_expression().outerStride(),actualU,actualV,actualAlpha); diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 53dfa9949..bb9a66cf1 100644 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -59,12 +59,12 @@ template struct remove_const { typedef T type; }; template struct remove_const { typedef T & type; }; template struct remove_const { typedef T * type; }; -template struct cleantype { typedef T type; }; -template struct cleantype { typedef typename cleantype::type type; }; -template struct cleantype { typedef typename cleantype::type type; }; -template struct cleantype { typedef typename cleantype::type type; }; -template struct cleantype { typedef typename cleantype::type type; }; -template struct cleantype { typedef typename cleantype::type type; }; +template struct remove_all { typedef T type; }; +template struct remove_all { typedef typename remove_all::type type; }; +template struct remove_all { typedef typename remove_all::type type; }; +template struct remove_all { typedef typename remove_all::type type; }; +template struct remove_all { typedef typename remove_all::type type; }; +template struct remove_all { typedef typename remove_all::type type; }; template struct is_arithmetic { enum { value = false }; }; template<> struct is_arithmetic { enum { value = true }; }; @@ -209,7 +209,7 @@ template struct scalar_product_traits, T> // FIXME quick workaround around current limitation of result_of // template // struct result_of(ArgType0,ArgType1)> { -// typedef typename scalar_product_traits::type, typename cleantype::type>::ReturnType type; +// typedef typename scalar_product_traits::type, typename remove_all::type>::ReturnType type; // }; template struct is_diagonal diff --git a/Eigen/src/Core/util/XprHelper.h b/Eigen/src/Core/util/XprHelper.h index 89df78de0..7dc52e55d 100644 --- a/Eigen/src/Core/util/XprHelper.h +++ b/Eigen/src/Core/util/XprHelper.h @@ -410,7 +410,7 @@ template struct HNormalizedReturnType { template struct cast_return_type { typedef typename XprType::Scalar CurrentScalarType; - typedef typename cleantype::type _CastType; + typedef typename remove_all::type _CastType; typedef typename _CastType::Scalar NewScalarType; typedef typename conditional::value, const XprType&,CastType>::type type; diff --git a/Eigen/src/Geometry/Homogeneous.h b/Eigen/src/Geometry/Homogeneous.h index c9304e34c..5a1e0aa4a 100644 --- a/Eigen/src/Geometry/Homogeneous.h +++ b/Eigen/src/Geometry/Homogeneous.h @@ -233,7 +233,7 @@ template struct homogeneous_left_product_impl,Lhs> : public ReturnByValue,Lhs> > { - typedef typename cleantype::type LhsNested; + typedef typename remove_all::type LhsNested; typedef typename MatrixType::Index Index; homogeneous_left_product_impl(const Lhs& lhs, const MatrixType& rhs) : m_lhs(lhs), m_rhs(rhs) @@ -272,7 +272,7 @@ template struct homogeneous_right_product_impl,Rhs> : public ReturnByValue,Rhs> > { - typedef typename cleantype::type RhsNested; + typedef typename remove_all::type RhsNested; typedef typename MatrixType::Index Index; homogeneous_right_product_impl(const MatrixType& lhs, const Rhs& rhs) : m_lhs(lhs), m_rhs(rhs) diff --git a/Eigen/src/Geometry/OrthoMethods.h b/Eigen/src/Geometry/OrthoMethods.h index 31582d7ae..64ca52e16 100644 --- a/Eigen/src/Geometry/OrthoMethods.h +++ b/Eigen/src/Geometry/OrthoMethods.h @@ -95,8 +95,8 @@ MatrixBase::cross3(const MatrixBase& other) const const OtherDerivedNested rhs(other.derived()); return internal::cross3_impl::type, - typename internal::cleantype::type>::run(lhs,rhs); + typename internal::remove_all::type, + typename internal::remove_all::type>::run(lhs,rhs); } /** \returns a matrix expression of the cross product of each column or row diff --git a/Eigen/src/Householder/HouseholderSequence.h b/Eigen/src/Householder/HouseholderSequence.h index ef4c0ca79..2e95b8320 100644 --- a/Eigen/src/Householder/HouseholderSequence.h +++ b/Eigen/src/Householder/HouseholderSequence.h @@ -124,7 +124,7 @@ template class HouseholderS typedef HouseholderSequence< VectorsType, typename internal::conditional::IsComplex, - typename internal::cleantype::type, + typename internal::remove_all::type, CoeffsType>::type, Side > ConjugateReturnType; @@ -167,7 +167,7 @@ template class HouseholderS // FIXME find a way to pass this temporary if the user want to Matrix temp(rows()); - if( internal::is_same::type,DestType>::value + if( internal::is_same::type,DestType>::value && internal::extract_data(dst) == internal::extract_data(m_vectors)) { // in-place diff --git a/Eigen/src/LU/Determinant.h b/Eigen/src/LU/Determinant.h index b274f5958..b4fe36eb0 100644 --- a/Eigen/src/LU/Determinant.h +++ b/Eigen/src/LU/Determinant.h @@ -106,7 +106,7 @@ inline typename internal::traits::Scalar MatrixBase::determina { assert(rows() == cols()); typedef typename internal::nested::type Nested; - return internal::determinant_impl::type>::run(derived()); + return internal::determinant_impl::type>::run(derived()); } #endif // EIGEN_DETERMINANT_H diff --git a/Eigen/src/LU/Inverse.h b/Eigen/src/LU/Inverse.h index 50061788b..2d3e6d105 100644 --- a/Eigen/src/LU/Inverse.h +++ b/Eigen/src/LU/Inverse.h @@ -159,7 +159,7 @@ struct compute_inverse static inline void run(const MatrixType& matrix, ResultType& result) { typedef typename ResultType::Scalar Scalar; - Matrix cofactors_col0; + Matrix cofactors_col0; cofactors_col0.coeffRef(0) = cofactor_3x3(matrix); cofactors_col0.coeffRef(1) = cofactor_3x3(matrix); cofactors_col0.coeffRef(2) = cofactor_3x3(matrix); @@ -284,8 +284,8 @@ template struct inverse_impl : public ReturnByValue > { typedef typename MatrixType::Index Index; - typedef typename eval::type MatrixTypeNested; - typedef typename cleantype::type MatrixTypeNestedCleaned; + typedef typename internal::eval::type MatrixTypeNested; + typedef typename remove_all::type MatrixTypeNestedCleaned; const MatrixTypeNested m_matrix; inverse_impl(const MatrixType& matrix) @@ -366,7 +366,7 @@ inline void MatrixBase::computeInverseAndDetWithCheck( // for larger sizes, evaluating has negligible cost and limits code size. typedef typename internal::conditional< RowsAtCompileTime == 2, - typename internal::cleantype::type>::type, + typename internal::remove_all::type>::type, PlainObject >::type MatrixType; internal::compute_inverse_and_det_with_check::run diff --git a/Eigen/src/Sparse/SparseBlock.h b/Eigen/src/Sparse/SparseBlock.h index d90e2334b..b2ff4b8f0 100644 --- a/Eigen/src/Sparse/SparseBlock.h +++ b/Eigen/src/Sparse/SparseBlock.h @@ -241,7 +241,7 @@ class SparseInnerVectorSet, Size> template inline SparseInnerVectorSet& operator=(const SparseMatrixBase& other) { - typedef typename internal::cleantype::type _NestedMatrixType; + typedef typename internal::remove_all::type _NestedMatrixType; _NestedMatrixType& matrix = const_cast<_NestedMatrixType&>(m_matrix);; // This assignement is slow if this vector set not empty // and/or it is not at the end of the nonzeros of the underlying matrix. diff --git a/Eigen/src/Sparse/SparseDenseProduct.h b/Eigen/src/Sparse/SparseDenseProduct.h index 16011e58e..8cc39c8fb 100644 --- a/Eigen/src/Sparse/SparseDenseProduct.h +++ b/Eigen/src/Sparse/SparseDenseProduct.h @@ -56,8 +56,8 @@ struct traits > typedef typename Lhs::Index Index; typedef typename Lhs::Nested LhsNested; typedef typename Rhs::Nested RhsNested; - typedef typename cleantype::type _LhsNested; - typedef typename cleantype::type _RhsNested; + typedef typename remove_all::type _LhsNested; + typedef typename remove_all::type _RhsNested; enum { LhsCoeffReadCost = traits<_LhsNested>::CoeffReadCost, @@ -163,8 +163,8 @@ class SparseTimeDenseProduct template void scaleAndAddTo(Dest& dest, Scalar alpha) const { - typedef typename internal::cleantype::type _Lhs; - typedef typename internal::cleantype::type _Rhs; + typedef typename internal::remove_all::type _Lhs; + typedef typename internal::remove_all::type _Rhs; typedef typename _Lhs::InnerIterator LhsInnerIterator; enum { LhsIsRowMajor = (_Lhs::Flags&RowMajorBit)==RowMajorBit }; for(Index j=0; j void scaleAndAddTo(Dest& dest, Scalar alpha) const { - typedef typename internal::cleantype::type _Rhs; + typedef typename internal::remove_all::type _Rhs; typedef typename _Rhs::InnerIterator RhsInnerIterator; enum { RhsIsRowMajor = (_Rhs::Flags&RowMajorBit)==RowMajorBit }; for(Index j=0; j struct traits > { - typedef typename cleantype::type _Lhs; - typedef typename cleantype::type _Rhs; + typedef typename remove_all::type _Lhs; + typedef typename remove_all::type _Rhs; typedef typename _Lhs::Scalar Scalar; typedef typename promote_index_type::Index, typename traits::Index>::type Index; @@ -76,8 +76,8 @@ class SparseDiagonalProduct typedef typename Lhs::Nested LhsNested; typedef typename Rhs::Nested RhsNested; - typedef typename internal::cleantype::type _LhsNested; - typedef typename internal::cleantype::type _RhsNested; + typedef typename internal::remove_all::type _LhsNested; + typedef typename internal::remove_all::type _RhsNested; enum { LhsMode = internal::is_diagonal<_LhsNested>::ret ? internal::SDP_IsDiagonal diff --git a/Eigen/src/Sparse/SparseMatrix.h b/Eigen/src/Sparse/SparseMatrix.h index eadcee829..c8b75a96c 100644 --- a/Eigen/src/Sparse/SparseMatrix.h +++ b/Eigen/src/Sparse/SparseMatrix.h @@ -449,7 +449,7 @@ class SparseMatrix // 2 - do the actual copy/eval // Since each coeff of the rhs has to be evaluated twice, let's evaluate it if needed typedef typename internal::nested::type OtherCopy; - typedef typename internal::cleantype::type _OtherCopy; + typedef typename internal::remove_all::type _OtherCopy; OtherCopy otherCopy(other.derived()); resize(other.rows(), other.cols()); diff --git a/Eigen/src/Sparse/SparseProduct.h b/Eigen/src/Sparse/SparseProduct.h index e994dbb99..1c1f54706 100644 --- a/Eigen/src/Sparse/SparseProduct.h +++ b/Eigen/src/Sparse/SparseProduct.h @@ -53,8 +53,8 @@ struct traits > { typedef MatrixXpr XprKind; // clean the nested types: - typedef typename cleantype::type _LhsNested; - typedef typename cleantype::type _RhsNested; + typedef typename remove_all::type _LhsNested; + typedef typename remove_all::type _RhsNested; typedef typename _LhsNested::Scalar Scalar; typedef typename promote_index_type::Index, typename traits<_RhsNested>::Index>::type Index; diff --git a/Eigen/src/Sparse/SparseSelfAdjointView.h b/Eigen/src/Sparse/SparseSelfAdjointView.h index 51a2b0261..769a05cf7 100644 --- a/Eigen/src/Sparse/SparseSelfAdjointView.h +++ b/Eigen/src/Sparse/SparseSelfAdjointView.h @@ -165,8 +165,8 @@ class SparseSelfAdjointTimeDenseProduct { // TODO use alpha eigen_assert(alpha==Scalar(1) && "alpha != 1 is not implemented yet, sorry"); - typedef typename internal::cleantype::type _Lhs; - typedef typename internal::cleantype::type _Rhs; + typedef typename internal::remove_all::type _Lhs; + typedef typename internal::remove_all::type _Rhs; typedef typename _Lhs::InnerIterator LhsInnerIterator; enum { LhsIsRowMajor = (_Lhs::Flags&RowMajorBit)==RowMajorBit, diff --git a/Eigen/src/Sparse/SparseSparseProduct.h b/Eigen/src/Sparse/SparseSparseProduct.h index f0d774f1a..b7ed151b4 100644 --- a/Eigen/src/Sparse/SparseSparseProduct.h +++ b/Eigen/src/Sparse/SparseSparseProduct.h @@ -30,8 +30,8 @@ namespace internal { template static void sparse_product_impl2(const Lhs& lhs, const Rhs& rhs, ResultType& res) { - typedef typename cleantype::type::Scalar Scalar; - typedef typename cleantype::type::Index Index; + typedef typename remove_all::type::Scalar Scalar; + typedef typename remove_all::type::Index Index; // make sure to call innerSize/outerSize since we fake the storage order. Index rows = lhs.innerSize(); @@ -116,8 +116,8 @@ static void sparse_product_impl(const Lhs& lhs, const Rhs& rhs, ResultType& res) { // return sparse_product_impl2(lhs,rhs,res); - typedef typename cleantype::type::Scalar Scalar; - typedef typename cleantype::type::Index Index; + typedef typename remove_all::type::Scalar Scalar; + typedef typename remove_all::type::Index Index; // make sure to call innerSize/outerSize since we fake the storage order. Index rows = lhs.innerSize(); @@ -169,12 +169,12 @@ struct sparse_product_selector; template struct sparse_product_selector { - typedef typename traits::type>::Scalar Scalar; + typedef typename traits::type>::Scalar Scalar; static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res) { // std::cerr << __LINE__ << "\n"; - typename cleantype::type _res(res.rows(), res.cols()); + typename remove_all::type _res(res.rows(), res.cols()); sparse_product_impl(lhs, rhs, _res); res.swap(_res); } @@ -201,7 +201,7 @@ struct sparse_product_selector { // std::cerr << __LINE__ << "\n"; // let's transpose the product to get a column x column product - typename cleantype::type _res(res.rows(), res.cols()); + typename remove_all::type _res(res.rows(), res.cols()); sparse_product_impl(rhs, lhs, _res); res.swap(_res); } @@ -241,8 +241,8 @@ inline Derived& SparseMatrixBase::operator=(const SparseSparseProduct::type, - typename internal::cleantype::type, + typename internal::remove_all::type, + typename internal::remove_all::type, Derived>::run(product.lhs(),product.rhs(),derived()); return derived(); } @@ -258,7 +258,7 @@ struct sparse_product_selector2; template struct sparse_product_selector2 { - typedef typename traits::type>::Scalar Scalar; + typedef typename traits::type>::Scalar Scalar; static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res) { @@ -313,7 +313,7 @@ struct sparse_product_selector2 template struct sparse_product_selector2 { - typedef typename traits::type>::Scalar Scalar; + typedef typename traits::type>::Scalar Scalar; static void run(const Lhs& lhs, const Rhs& rhs, ResultType& res) { @@ -379,8 +379,8 @@ inline void SparseMatrixBase::_experimentalNewProduct(const Lhs& lhs, c { //derived().resize(lhs.rows(), rhs.cols()); internal::sparse_product_selector2< - typename internal::cleantype::type, - typename internal::cleantype::type, + typename internal::remove_all::type, + typename internal::remove_all::type, Derived>::run(lhs,rhs,derived()); } diff --git a/Eigen/src/Sparse/SparseTranspose.h b/Eigen/src/Sparse/SparseTranspose.h index f0c471655..2aea2fa32 100644 --- a/Eigen/src/Sparse/SparseTranspose.h +++ b/Eigen/src/Sparse/SparseTranspose.h @@ -28,7 +28,7 @@ template class TransposeImpl : public SparseMatrixBase > { - typedef typename internal::cleantype::type _MatrixTypeNested; + typedef typename internal::remove_all::type _MatrixTypeNested; public: EIGEN_SPARSE_PUBLIC_INTERFACE(Transpose) diff --git a/Eigen/src/Sparse/SparseVector.h b/Eigen/src/Sparse/SparseVector.h index 4671cf48f..be1ad4c50 100644 --- a/Eigen/src/Sparse/SparseVector.h +++ b/Eigen/src/Sparse/SparseVector.h @@ -265,7 +265,7 @@ class SparseVector // // Since each coeff of the rhs has to be evaluated twice, let's evauluate it if needed // typedef typename internal::nested::type OtherCopy; // OtherCopy otherCopy(other.derived()); -// typedef typename internal::cleantype::type _OtherCopy; +// typedef typename internal::remove_all::type _OtherCopy; // // resize(other.rows(), other.cols()); // Eigen::Map(m_outerIndex,outerSize()).setZero(); diff --git a/Eigen/src/Sparse/SparseView.h b/Eigen/src/Sparse/SparseView.h index 091687d76..243065610 100644 --- a/Eigen/src/Sparse/SparseView.h +++ b/Eigen/src/Sparse/SparseView.h @@ -44,7 +44,7 @@ template class SparseView : public SparseMatrixBase > { typedef typename MatrixType::Nested MatrixTypeNested; - typedef typename internal::cleantype::type _MatrixTypeNested; + typedef typename internal::remove_all::type _MatrixTypeNested; public: EIGEN_SPARSE_PUBLIC_INTERFACE(SparseView) diff --git a/Eigen/src/misc/Solve.h b/Eigen/src/misc/Solve.h index bce2b2624..b7cbcadb3 100644 --- a/Eigen/src/misc/Solve.h +++ b/Eigen/src/misc/Solve.h @@ -45,7 +45,7 @@ struct traits > template struct solve_retval_base : public ReturnByValue > { - typedef typename cleantype::type RhsNestedCleaned; + typedef typename remove_all::type RhsNestedCleaned; typedef _DecompositionType DecompositionType; typedef ReturnByValue Base; typedef typename Base::Index Index; diff --git a/test/meta.cpp b/test/meta.cpp index fb7d4548c..9adb95034 100644 --- a/test/meta.cpp +++ b/test/meta.cpp @@ -35,13 +35,13 @@ void test_meta() VERIFY((!internal::is_same::value)); VERIFY((!internal::is_same::value)); - VERIFY(( internal::is_same::type >::value)); - VERIFY(( internal::is_same::type >::value)); - VERIFY(( internal::is_same::type >::value)); - VERIFY(( internal::is_same::type >::value)); - VERIFY(( internal::is_same::type >::value)); - VERIFY(( internal::is_same::type >::value)); - VERIFY(( internal::is_same::type >::value)); + VERIFY(( internal::is_same::type >::value)); + VERIFY(( internal::is_same::type >::value)); + VERIFY(( internal::is_same::type >::value)); + VERIFY(( internal::is_same::type >::value)); + VERIFY(( internal::is_same::type >::value)); + VERIFY(( internal::is_same::type >::value)); + VERIFY(( internal::is_same::type >::value)); VERIFY(( internal::is_same::type >::value)); VERIFY(( internal::is_same::type >::value)); diff --git a/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h b/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h index a2aa42ad0..2f2992997 100644 --- a/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +++ b/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h @@ -74,14 +74,14 @@ template struct auto_diff_special_op; template class AutoDiffScalar : public internal::auto_diff_special_op - <_DerType, !internal::is_same::type>::Scalar, - typename NumTraits::type>::Scalar>::Real>::value> + <_DerType, !internal::is_same::type>::Scalar, + typename NumTraits::type>::Scalar>::Real>::value> { public: typedef internal::auto_diff_special_op - <_DerType, !internal::is_same::type>::Scalar, - typename NumTraits::type>::Scalar>::Real>::value> Base; - typedef typename internal::cleantype<_DerType>::type DerType; + <_DerType, !internal::is_same::type>::Scalar, + typename NumTraits::type>::Scalar>::Real>::value> Base; + typedef typename internal::remove_all<_DerType>::type DerType; typedef typename internal::traits::Scalar Scalar; typedef typename NumTraits::Real Real; @@ -178,11 +178,11 @@ class AutoDiffScalar } template - inline const AutoDiffScalar,DerType,typename internal::cleantype::type> > + inline const AutoDiffScalar,DerType,typename internal::remove_all::type> > operator+(const AutoDiffScalar& other) const { internal::make_coherent(m_derivatives, other.derivatives()); - return AutoDiffScalar,DerType,typename internal::cleantype::type> >( + return AutoDiffScalar,DerType,typename internal::remove_all::type> >( m_value + other.value(), m_derivatives + other.derivatives()); } @@ -196,11 +196,11 @@ class AutoDiffScalar } template - inline const AutoDiffScalar, DerType,typename internal::cleantype::type> > + inline const AutoDiffScalar, DerType,typename internal::remove_all::type> > operator-(const AutoDiffScalar& other) const { internal::make_coherent(m_derivatives, other.derivatives()); - return AutoDiffScalar, DerType,typename internal::cleantype::type> >( + return AutoDiffScalar, DerType,typename internal::remove_all::type> >( m_value - other.value(), m_derivatives - other.derivatives()); } @@ -290,14 +290,14 @@ class AutoDiffScalar inline const AutoDiffScalar, CwiseBinaryOp, CwiseUnaryOp, DerType>, - CwiseUnaryOp, typename internal::cleantype::type > > > > + CwiseUnaryOp, typename internal::remove_all::type > > > > operator/(const AutoDiffScalar& other) const { internal::make_coherent(m_derivatives, other.derivatives()); return AutoDiffScalar, CwiseBinaryOp, CwiseUnaryOp, DerType>, - CwiseUnaryOp, typename internal::cleantype::type > > > >( + CwiseUnaryOp, typename internal::remove_all::type > > > >( m_value / other.value(), ((m_derivatives * other.value()) - (m_value * other.derivatives())) * (Scalar(1)/(other.value()*other.value()))); @@ -306,13 +306,13 @@ class AutoDiffScalar template inline const AutoDiffScalar, CwiseUnaryOp, DerType>, - CwiseUnaryOp, typename internal::cleantype::type> > > + CwiseUnaryOp, typename internal::remove_all::type> > > operator*(const AutoDiffScalar& other) const { internal::make_coherent(m_derivatives, other.derivatives()); return AutoDiffScalar, CwiseUnaryOp, DerType>, - CwiseUnaryOp, typename internal::cleantype::type > > >( + CwiseUnaryOp, typename internal::remove_all::type > > >( m_value * other.value(), (m_derivatives * other.value()) + (m_value * other.derivatives())); } @@ -343,7 +343,7 @@ struct auto_diff_special_op<_DerType, true> // : auto_diff_scalar_op<_DerType, typename NumTraits::Real, // is_same::Real>::value> { - typedef typename cleantype<_DerType>::type DerType; + typedef typename remove_all<_DerType>::type DerType; typedef typename traits::Scalar Scalar; typedef typename NumTraits::Real Real; @@ -475,11 +475,11 @@ struct scalar_product_traits,T> #define EIGEN_AUTODIFF_DECLARE_GLOBAL_UNARY(FUNC,CODE) \ template \ - inline const Eigen::AutoDiffScalar::type>::Scalar>, typename Eigen::internal::cleantype::type> > \ + inline const Eigen::AutoDiffScalar::type>::Scalar>, typename Eigen::internal::remove_all::type> > \ FUNC(const Eigen::AutoDiffScalar& x) { \ using namespace Eigen; \ - typedef typename internal::traits::type>::Scalar Scalar; \ - typedef AutoDiffScalar, typename internal::cleantype::type> > ReturnType; \ + typedef typename internal::traits::type>::Scalar Scalar; \ + typedef AutoDiffScalar, typename internal::remove_all::type> > ReturnType; \ CODE; \ } diff --git a/unsupported/Eigen/src/Skyline/SkylineProduct.h b/unsupported/Eigen/src/Skyline/SkylineProduct.h index d7c536880..aeedc47ec 100644 --- a/unsupported/Eigen/src/Skyline/SkylineProduct.h +++ b/unsupported/Eigen/src/Skyline/SkylineProduct.h @@ -36,8 +36,8 @@ struct SkylineProductReturnType { template struct internal::traits > { // clean the nested types: - typedef typename internal::cleantype::type _LhsNested; - typedef typename internal::cleantype::type _RhsNested; + typedef typename internal::remove_all::type _LhsNested; + typedef typename internal::remove_all::type _RhsNested; typedef typename _LhsNested::Scalar Scalar; enum { @@ -133,8 +133,8 @@ protected: template EIGEN_DONT_INLINE void skyline_row_major_time_dense_product(const Lhs& lhs, const Rhs& rhs, Dest& dst) { - typedef typename cleantype::type _Lhs; - typedef typename cleantype::type _Rhs; + typedef typename remove_all::type _Lhs; + typedef typename remove_all::type _Rhs; typedef typename traits::Scalar Scalar; enum { @@ -196,8 +196,8 @@ EIGEN_DONT_INLINE void skyline_row_major_time_dense_product(const Lhs& lhs, cons template EIGEN_DONT_INLINE void skyline_col_major_time_dense_product(const Lhs& lhs, const Rhs& rhs, Dest& dst) { - typedef typename cleantype::type _Lhs; - typedef typename cleantype::type _Rhs; + typedef typename remove_all::type _Lhs; + typedef typename remove_all::type _Rhs; typedef typename traits::Scalar Scalar; enum { @@ -264,7 +264,7 @@ template struct skyline_product_selector { - typedef typename traits::type>::Scalar Scalar; + typedef typename traits::type>::Scalar Scalar; static void run(const Lhs& lhs, const Rhs& rhs, ResultType & res) { skyline_row_major_time_dense_product (lhs, rhs, res); @@ -273,7 +273,7 @@ struct skyline_product_selector { template struct skyline_product_selector { - typedef typename traits::type>::Scalar Scalar; + typedef typename traits::type>::Scalar Scalar; static void run(const Lhs& lhs, const Rhs& rhs, ResultType & res) { skyline_col_major_time_dense_product (lhs, rhs, res); @@ -285,9 +285,9 @@ struct skyline_product_selector { // template // template // Derived & MatrixBase::lazyAssign(const SkylineProduct& product) { -// typedef typename internal::cleantype::type _Lhs; -// internal::skyline_product_selector::type, -// typename internal::cleantype::type, +// typedef typename internal::remove_all::type _Lhs; +// internal::skyline_product_selector::type, +// typename internal::remove_all::type, // Derived>::run(product.lhs(), product.rhs(), derived()); // // return derived();