aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Hauke Heibel <hauke.heibel@gmail.com>2010-04-22 13:56:06 +0200
committerGravatar Hauke Heibel <hauke.heibel@gmail.com>2010-04-22 13:56:06 +0200
commit27a4a748cb5cce6f68b6127d6c165a9808b8b2a7 (patch)
treeca38ee545aab6a6c040cc3e5cdbad5b03483e7f9 /Eigen
parent28dde19e40a3d758faa94f0fc228857f7b3192ea (diff)
MSVC runs into problems when a forward declaration is using a different template type name than the actual declaration.
This fixes the recent issues we observed on MSVC systems.
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/util/ForwardDeclarations.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h
index 9379b64f8..9434bfd14 100644
--- a/Eigen/src/Core/util/ForwardDeclarations.h
+++ b/Eigen/src/Core/util/ForwardDeclarations.h
@@ -54,13 +54,13 @@ template<typename MatrixType> class Minor;
// is used as default template parameter value here, it gets mis-evaluated as just ei_traits<MatrixType>::Flags
// Moreover, adding brackets tends to give compilation errors with MSVC.
// Solution: defer that to a helper struct.
-template<typename MatrixType>
+template<typename XprType>
struct ei_block_direct_access_status
{
- enum { ret = ei_traits<MatrixType>::Flags&DirectAccessBit ? HasDirectAccess : NoDirectAccess };
+ enum { ret = ei_traits<XprType>::Flags&DirectAccessBit ? HasDirectAccess : NoDirectAccess };
};
-template<typename MatrixType, int BlockRows=Dynamic, int BlockCols=Dynamic,
- int _DirectAccessStatus = ei_block_direct_access_status<MatrixType>::ret> class Block;
+template<typename XprType, int BlockRows=Dynamic, int BlockCols=Dynamic,
+ int _DirectAccessStatus = ei_block_direct_access_status<XprType>::ret> class Block;
template<typename MatrixType, int Size=Dynamic> class VectorBlock;
template<typename MatrixType> class Transpose;