aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Eval.h
diff options
context:
space:
mode:
Diffstat (limited to 'Eigen/src/Core/Eval.h')
-rw-r--r--Eigen/src/Core/Eval.h33
1 files changed, 21 insertions, 12 deletions
diff --git a/Eigen/src/Core/Eval.h b/Eigen/src/Core/Eval.h
index 85a9d0aa0..ece372a04 100644
--- a/Eigen/src/Core/Eval.h
+++ b/Eigen/src/Core/Eval.h
@@ -45,19 +45,26 @@
* \sa MatrixBase::eval()
*/
template<typename ExpressionType>
-struct Scalar<Eval<ExpressionType> >
-{ typedef typename Scalar<ExpressionType>::Type Type; };
+struct ei_traits<Eval<ExpressionType> >
+{
+ typedef typename ExpressionType::Scalar Scalar;
+ enum {
+ RowsAtCompileTime = ExpressionType::RowsAtCompileTime,
+ ColsAtCompileTime = ExpressionType::ColsAtCompileTime,
+ MaxRowsAtCompileTime = ExpressionType::MaxRowsAtCompileTime,
+ MaxColsAtCompileTime = ExpressionType::MaxColsAtCompileTime
+ };
+};
template<typename ExpressionType> class Eval : NoOperatorEquals,
public Matrix< typename ExpressionType::Scalar,
- ExpressionType::Traits::RowsAtCompileTime,
- ExpressionType::Traits::ColsAtCompileTime,
+ ExpressionType::RowsAtCompileTime,
+ ExpressionType::ColsAtCompileTime,
EIGEN_DEFAULT_MATRIX_STORAGE_ORDER,
- ExpressionType::Traits::MaxRowsAtCompileTime,
- ExpressionType::Traits::MaxColsAtCompileTime>
+ ExpressionType::MaxRowsAtCompileTime,
+ ExpressionType::MaxColsAtCompileTime>
{
public:
- typedef typename Scalar<ExpressionType>::Type Scalar;
/** The actual matrix type to evaluate to. This type can be used independently
* of the rest of this class to get the actual matrix type to evaluate and store
@@ -67,12 +74,14 @@ template<typename ExpressionType> class Eval : NoOperatorEquals,
* \include Eval_MatrixType.cpp
* Output: \verbinclude Eval_MatrixType.out
*/
- typedef Matrix<Scalar,
- ExpressionType::Traits::RowsAtCompileTime,
- ExpressionType::Traits::ColsAtCompileTime,
+ typedef Matrix<typename ExpressionType::Scalar,
+ ExpressionType::RowsAtCompileTime,
+ ExpressionType::ColsAtCompileTime,
EIGEN_DEFAULT_MATRIX_STORAGE_ORDER,
- ExpressionType::Traits::MaxRowsAtCompileTime,
- ExpressionType::Traits::MaxColsAtCompileTime> MatrixType;
+ ExpressionType::MaxRowsAtCompileTime,
+ ExpressionType::MaxColsAtCompileTime> MatrixType;
+
+ _EIGEN_BASIC_PUBLIC_INTERFACE(Eval, MatrixType)
explicit Eval(const ExpressionType& expr) : MatrixType(expr) {}
};