Get rid of class internal::nested<> (still have to updated Tensor module)

This commit is contained in:
Gael Guennebaud
2015-06-19 17:56:39 +02:00
parent 386d9e5ebd
commit 846b227bb7
25 changed files with 33 additions and 39 deletions

View File

@@ -685,7 +685,7 @@ namespace Eigen {
typedef typename Eigen::internal::traits<Derived>::Scalar Scalar; /*!< \brief Numeric type, e.g. float, double, int or std::complex<float>. */ \
typedef typename Eigen::NumTraits<Scalar>::Real RealScalar; /*!< \brief The underlying numeric type for composed scalar types. \details In cases where Scalar is e.g. std::complex<T>, T were corresponding to RealScalar. */ \
typedef typename Base::CoeffReturnType CoeffReturnType; /*!< \brief The return type for coefficient access. \details Depending on whether the object allows direct coefficient access (e.g. for a MatrixXd), this type is either 'const Scalar&' or simply 'Scalar' for objects that do not allow direct coefficient access. */ \
typedef typename Eigen::internal::nested<Derived>::type Nested; \
typedef typename Eigen::internal::ref_selector<Derived>::type Nested; \
typedef typename Eigen::internal::traits<Derived>::StorageKind StorageKind; \
typedef typename Eigen::internal::traits<Derived>::StorageIndex StorageIndex; \
enum { RowsAtCompileTime = Eigen::internal::traits<Derived>::RowsAtCompileTime, \

View File

@@ -312,7 +312,7 @@ template<typename T> struct plain_matrix_type_row_major
> type;
};
// we should be able to get rid of this one too
// TODO we should be able to get rid of this one too
template<typename T> struct must_nest_by_value { enum { ret = false }; };
/** \internal The reference selector for template expressions. The idea is that we don't
@@ -340,13 +340,6 @@ struct transfer_constness
};
// When using evaluators, we never evaluate when assembling the expression!!
// TODO: get rid of this nested class since it's just an alias for ref_selector.
template<typename T, int n=1, typename PlainObject = void> struct nested
{
typedef typename ref_selector<T>::type type;
};
// However, we still need a mechanism to detect whether an expression which is evaluated multiple time
// has to be evaluated into a temporary.
// That's the purpose of this new nested_eval helper: