diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2008-03-10 17:23:11 +0000 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2008-03-10 17:23:11 +0000 |
commit | 01572b9f54e769a7d1bb3d5073c264a5fbc7ce42 (patch) | |
tree | ea9b9ef0469040e8b8ae0805f77d726c319dfeac /Eigen/src/Core/CommaInitializer.h | |
parent | 9d9d81ad71a52c33ba4db9f8a6059d435d279316 (diff) |
big change: MatrixBase only takes one template parameter "Derived", the
template parameter "Scalar" is removed. This is achieved by introducting a
template <typename Derived> struct Scalar to achieve a forward-declaration of
the Scalar typedefs.
Diffstat (limited to 'Eigen/src/Core/CommaInitializer.h')
-rw-r--r-- | Eigen/src/Core/CommaInitializer.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/Eigen/src/Core/CommaInitializer.h b/Eigen/src/Core/CommaInitializer.h index ba64f3f40..b7de3b3aa 100644 --- a/Eigen/src/Core/CommaInitializer.h +++ b/Eigen/src/Core/CommaInitializer.h @@ -29,8 +29,8 @@ /** \internal * Helper class to define the MatrixBase::operator<< */ -template<typename Scalar, typename Derived> -struct MatrixBase<Scalar, Derived>::CommaInitializer +template<typename Derived> +struct MatrixBase<Derived>::CommaInitializer { CommaInitializer(Derived& mat, const Scalar& s) : m_matrix(mat), m_row(0), m_col(1), m_currentBlockRows(1) @@ -39,7 +39,7 @@ struct MatrixBase<Scalar, Derived>::CommaInitializer } template<typename OtherDerived> - CommaInitializer(Derived& mat, const MatrixBase<Scalar, OtherDerived>& other) + CommaInitializer(Derived& mat, const MatrixBase<OtherDerived>& other) : m_matrix(mat), m_row(0), m_col(other.cols()), m_currentBlockRows(other.rows()) { m_matrix.block(0, 0, other.rows(), other.cols()) = other; @@ -60,7 +60,7 @@ struct MatrixBase<Scalar, Derived>::CommaInitializer } template<typename OtherDerived> - CommaInitializer& operator,(const MatrixBase<Scalar, OtherDerived>& other) + CommaInitializer& operator,(const MatrixBase<OtherDerived>& other) { if (m_col==m_matrix.cols()) { @@ -94,15 +94,16 @@ struct MatrixBase<Scalar, Derived>::CommaInitializer * Example: \include MatrixBase_set.cpp * Output: \verbinclude MatrixBase_set.out */ -template<typename Scalar, typename Derived> -typename MatrixBase<Scalar, Derived>::CommaInitializer MatrixBase<Scalar, Derived>::operator<< (const Scalar& s) +template<typename Derived> +typename MatrixBase<Derived>::CommaInitializer MatrixBase<Derived>::operator<< (const Scalar& s) { - return CommaInitializer(*static_cast<Derived *>(this), s); + return CommaInitializer(*static_cast<Derived*>(this), s); } -template<typename Scalar, typename Derived> +template<typename Derived> template<typename OtherDerived> -typename MatrixBase<Scalar, Derived>::CommaInitializer MatrixBase<Scalar, Derived>::operator<< (const MatrixBase<Scalar, OtherDerived>& other) +typename MatrixBase<Derived>::CommaInitializer +MatrixBase<Derived>::operator<<(const MatrixBase<OtherDerived>& other) { return CommaInitializer(*static_cast<Derived *>(this), other); } |