diff options
author | Gael Guennebaud <g.gael@free.fr> | 2011-08-22 10:12:10 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2011-08-22 10:12:10 +0200 |
commit | b85c89c313a79fa68b3e27c64247437f51a3657e (patch) | |
tree | bfd8bf349a3514f617c07717c4360cf7764e92e6 /Eigen/src/StlSupport/StdVector.h | |
parent | 9bf4d709e466a7bce29b76cc8981acf60a63bd48 (diff) |
fix bug #262: Compilation error of stdvector_overload test with GCC 4.6
Now our aligned allocator is automatically activatived only when the user
did not specified an allocator (or specified the default std::allocator).
Diffstat (limited to 'Eigen/src/StlSupport/StdVector.h')
-rw-r--r-- | Eigen/src/StlSupport/StdVector.h | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/Eigen/src/StlSupport/StdVector.h b/Eigen/src/StlSupport/StdVector.h index 81a2d7762..9a8749c30 100644 --- a/Eigen/src/StlSupport/StdVector.h +++ b/Eigen/src/StlSupport/StdVector.h @@ -28,24 +28,16 @@ #include "Eigen/src/StlSupport/details.h" -// Define the explicit instantiation (e.g. necessary for the Intel compiler) -#if defined(__INTEL_COMPILER) || defined(__GNUC__) - #define EIGEN_EXPLICIT_STL_VECTOR_INSTANTIATION(...) template class std::vector<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> >; -#else - #define EIGEN_EXPLICIT_STL_VECTOR_INSTANTIATION(...) -#endif - /** * This section contains a convenience MACRO which allows an easy specialization of * std::vector such that for data types with alignment issues the correct allocator * is used automatically. */ #define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...) \ -EIGEN_EXPLICIT_STL_VECTOR_INSTANTIATION(__VA_ARGS__) \ namespace std \ { \ - template<typename _Ay> \ - class vector<__VA_ARGS__, _Ay> \ + template<> \ + class vector<__VA_ARGS__, std::allocator<__VA_ARGS__> > \ : public vector<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > \ { \ typedef vector<__VA_ARGS__, EIGEN_ALIGNED_ALLOCATOR<__VA_ARGS__> > vector_base; \ |