72 class vector<T,EIGEN_ALIGNED_ALLOCATOR<T> >
73 :
public vector<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
74 Eigen::aligned_allocator_indirection<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T)> >
76 typedef vector<EIGEN_WORKAROUND_MSVC_STL_SUPPORT(T),
78 EIGEN_STD_VECTOR_SPECIALIZATION_BODY
80 void resize(size_type new_size)
81 { resize(new_size, T()); }
85 void resize(size_type new_size,
const value_type& x)
87 if (vector_base::size() < new_size)
88 vector_base::_Insert_n(vector_base::end(), new_size - vector_base::size(), x);
89 else if (new_size < vector_base::size())
90 vector_base::erase(vector_base::begin() + new_size, vector_base::end());
92 void push_back(
const value_type& x)
93 { vector_base::push_back(x); }
94 using vector_base::insert;
95 iterator insert(const_iterator position,
const value_type& x)
96 {
return vector_base::insert(position,x); }
97 void insert(const_iterator position, size_type new_size,
const value_type& x)
98 { vector_base::insert(position, new_size, x); }
99#elif defined(_GLIBCXX_VECTOR) && (!(EIGEN_GNUC_AT_LEAST(4,1)))
102 void resize(size_type new_size,
const value_type& x)
104 vector_base::resize(new_size,x);
106#elif defined(_GLIBCXX_VECTOR) && EIGEN_GNUC_AT_LEAST(4,2)
108 void resize(size_type new_size,
const value_type& x)
110 if (new_size < vector_base::size())
111 vector_base::_M_erase_at_end(this->_M_impl._M_start + new_size);
113 vector_base::insert(vector_base::end(), new_size - vector_base::size(), x);
118 void resize(size_type new_size,
const value_type& x)
120 if (new_size < vector_base::size())
121 vector_base::erase(vector_base::begin() + new_size, vector_base::end());
122 else if (new_size > vector_base::size())
123 vector_base::insert(vector_base::end(), new_size - vector_base::size(), x);