mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
make shameless use of const_cast to reduce code redundancy. This means Eigen2
gives up enforcing constness. I really tried to enforce it, but it really was much hassle because our expression templates can be lvalues (not only rvalues) and so much code had to be written twice.
This commit is contained in:
@@ -43,7 +43,6 @@ using Eigen::Matrix;
|
||||
//forward declarations
|
||||
template<typename _Scalar, int _Rows, int _Cols> class Matrix;
|
||||
template<typename MatrixType> class MatrixRef;
|
||||
template<typename MatrixType> class MatrixConstRef;
|
||||
template<typename MatrixType> class Row;
|
||||
template<typename MatrixType> class Column;
|
||||
template<typename MatrixType> class Minor;
|
||||
@@ -64,14 +63,12 @@ template<typename MatrixType> class FromArray;
|
||||
template<typename T> struct ForwardDecl
|
||||
{
|
||||
typedef T Ref;
|
||||
typedef T ConstRef;
|
||||
};
|
||||
|
||||
template<typename _Scalar, int _Rows, int _Cols>
|
||||
struct ForwardDecl<Matrix<_Scalar, _Rows, _Cols> >
|
||||
{
|
||||
typedef MatrixRef<Matrix<_Scalar, _Rows, _Cols> > Ref;
|
||||
typedef MatrixConstRef<Matrix<_Scalar, _Rows, _Cols> > ConstRef;
|
||||
};
|
||||
|
||||
const int Dynamic = -1;
|
||||
|
||||
Reference in New Issue
Block a user