aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/StlSupport/StdList.h
diff options
context:
space:
mode:
authorGravatar Hauke Heibel <hauke.heibel@gmail.com>2010-04-21 18:21:46 +0200
committerGravatar Hauke Heibel <hauke.heibel@gmail.com>2010-04-21 18:21:46 +0200
commit2db538748847b230ff33cfa7f77426400b9b4811 (patch)
tree123458a2f26b00312684346b47e3ac9c662339a4 /Eigen/src/StlSupport/StdList.h
parent028bb7ea48c6adeb4599947341e4b5363c0f3bdd (diff)
Fixed two bad errors on std::vector.
First, MSVC 2010 does not ship a 'fixed'/'adapted' STL. Second, only under very rare cases we do not even need the aligned_allocator.
Diffstat (limited to 'Eigen/src/StlSupport/StdList.h')
-rw-r--r--Eigen/src/StlSupport/StdList.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/Eigen/src/StlSupport/StdList.h b/Eigen/src/StlSupport/StdList.h
index 43af4f0f8..55b90066e 100644
--- a/Eigen/src/StlSupport/StdList.h
+++ b/Eigen/src/StlSupport/StdList.h
@@ -66,6 +66,9 @@ namespace std \
}; \
}
+// check whether we really need the std::vector specialization
+#if !(defined(_GLIBCXX_VECTOR) && (!EIGEN_GNUC_AT_LEAST(4,1))) /* Note that before gcc-4.1 we already have: std::list::resize(size_type,const T&). */
+
namespace std
{
@@ -91,7 +94,7 @@ namespace std
template<typename T>
class list<T,Eigen::aligned_allocator<T> >
: public list<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
- Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> >
+ Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> >
{
typedef list<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> > list_base;
@@ -121,4 +124,6 @@ namespace std
};
}
+#endif // check whether specialization is actually required
+
#endif // EIGEN_STDLIST_H