diff options
Diffstat (limited to 'extern/Eigen3/Eigen/src/StlSupport/StdVector.h')
-rw-r--r-- | extern/Eigen3/Eigen/src/StlSupport/StdVector.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/extern/Eigen3/Eigen/src/StlSupport/StdVector.h b/extern/Eigen3/Eigen/src/StlSupport/StdVector.h index 1894af6b779..ec22821d261 100644 --- a/extern/Eigen3/Eigen/src/StlSupport/StdVector.h +++ b/extern/Eigen3/Eigen/src/StlSupport/StdVector.h @@ -44,6 +44,9 @@ namespace std \ }; \ } +// Don't specialize if containers are implemented according to C++11 +#if !EIGEN_HAS_CXX11_CONTAINERS + namespace std { #define EIGEN_STD_VECTOR_SPECIALIZATION_BODY \ @@ -77,7 +80,7 @@ namespace std { void resize(size_type new_size) { resize(new_size, T()); } -#if defined(_VECTOR_) && (_MSC_VER<1910) +#if defined(_VECTOR_) // workaround MSVC std::vector implementation void resize(size_type new_size, const value_type& x) { @@ -110,7 +113,7 @@ namespace std { vector_base::insert(vector_base::end(), new_size - vector_base::size(), x); } #else - // either GCC 4.1, MSVC2017 or non-GCC + // either GCC 4.1 or non-GCC // default implementation which should always work. void resize(size_type new_size, const value_type& x) { @@ -122,5 +125,7 @@ namespace std { #endif }; } +#endif // !EIGEN_HAS_CXX11_CONTAINERS + #endif // EIGEN_STDVECTOR_H |