diff options
Diffstat (limited to 'Eigen/src/Core/util')
-rw-r--r-- | Eigen/src/Core/util/ForwardDeclarations.h | 12 | ||||
-rw-r--r-- | Eigen/src/Core/util/Meta.h | 9 |
2 files changed, 17 insertions, 4 deletions
diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h index f9370ada9..9d09a2aa6 100644 --- a/Eigen/src/Core/util/ForwardDeclarations.h +++ b/Eigen/src/Core/util/ForwardDeclarations.h @@ -28,10 +28,18 @@ template<typename T> struct ei_traits; template<typename Lhs, typename Rhs> struct ei_product_eval_mode; template<typename T> struct NumTraits; +template<typename Scalar, int Size, unsigned int SuggestedFlags> class ei_corrected_matrix_flags; + +template<int _Rows, int _Cols> struct ei_size_at_compile_time; template<typename _Scalar, int _Rows, int _Cols, - unsigned int _SuggestedFlags = EIGEN_DEFAULT_MATRIX_FLAGS, - int _MaxRows = _Rows, int _MaxCols = _Cols> + int _MaxRows = _Rows, int _MaxCols = _Cols, + unsigned int _Flags = ei_corrected_matrix_flags< + _Scalar, + ei_size_at_compile_time<_MaxRows,_MaxCols>::ret, + EIGEN_DEFAULT_MATRIX_FLAGS + >::ret +> class Matrix; template<typename ExpressionType, unsigned int Added, unsigned int Removed> class Flagged; diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 5611ad3b0..5df6d89d0 100644 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -180,9 +180,14 @@ template<typename T> class ei_eval typedef Matrix<_Scalar, ei_traits<T>::RowsAtCompileTime, ei_traits<T>::ColsAtCompileTime, - ei_corrected_matrix_flags<_Scalar, ei_size_at_compile_time<_MaxRows,_MaxCols>::ret, _Flags>::ret, ei_traits<T>::MaxRowsAtCompileTime, - ei_traits<T>::MaxColsAtCompileTime> type; + ei_traits<T>::MaxColsAtCompileTime, + ei_corrected_matrix_flags< + _Scalar, + ei_size_at_compile_time<_MaxRows,_MaxCols>::ret, + _Flags + >::ret + > type; }; template<typename T> struct ei_unref { typedef T type; }; |