aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/StlSupport/StdVector.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-08-22 10:12:10 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-08-22 10:12:10 +0200
commitb85c89c313a79fa68b3e27c64247437f51a3657e (patch)
treebfd8bf349a3514f617c07717c4360cf7764e92e6 /Eigen/src/StlSupport/StdVector.h
parent9bf4d709e466a7bce29b76cc8981acf60a63bd48 (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.h12
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; \