mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-07-09 06:31:47 +08:00
Fix bug #41, our resize() method didn't work with gcc 4.1
This commit is contained in:
parent
9d64571963
commit
dcefb66283
@ -112,10 +112,8 @@ class vector<T,DummyAlloc,true>
|
|||||||
else if (__new_size < vector_base::size())
|
else if (__new_size < vector_base::size())
|
||||||
vector_base::erase(vector_base::begin() + __new_size, vector_base::end());
|
vector_base::erase(vector_base::begin() + __new_size, vector_base::end());
|
||||||
}
|
}
|
||||||
#elif defined(_GLIBCXX_VECTOR) && EIGEN_GNUC_AT_LEAST(4,1)
|
#elif defined(_GLIBCXX_VECTOR) && EIGEN_GNUC_AT_LEAST(4,2)
|
||||||
// workaround GCC std::vector implementation
|
// workaround GCC std::vector implementation
|
||||||
// Note that before gcc-4.1 we already have: std::vector::resize(size_type,const T&),
|
|
||||||
// no no need to workaround !
|
|
||||||
void resize(size_type __new_size, const value_type& __x)
|
void resize(size_type __new_size, const value_type& __x)
|
||||||
{
|
{
|
||||||
if (__new_size < vector_base::size())
|
if (__new_size < vector_base::size())
|
||||||
@ -123,7 +121,17 @@ class vector<T,DummyAlloc,true>
|
|||||||
else
|
else
|
||||||
vector_base::insert(vector_base::end(), __new_size - vector_base::size(), __x);
|
vector_base::insert(vector_base::end(), __new_size - vector_base::size(), __x);
|
||||||
}
|
}
|
||||||
|
#elif defined(_GLIBCXX_VECTOR) && EIGEN_GNUC_AT_LEAST(4,1)
|
||||||
|
void resize(size_type __new_size, const value_type& __x)
|
||||||
|
{
|
||||||
|
if (__new_size < vector_base::size())
|
||||||
|
erase(vector_base::begin() + __new_size, vector_base::end());
|
||||||
|
else
|
||||||
|
insert(vector_base::end(), __new_size - vector_base::size(), __x);
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
|
// Before gcc-4.1 we already have: std::vector::resize(size_type,const T&),
|
||||||
|
// so no need for a workaround !
|
||||||
using vector_base::resize;
|
using vector_base::resize;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user