template < class T, class Alloc = allocator<T> >
class vector
vector (const allocator_type& alloc = allocator_type());
vector (size_type n, const value_type& val = value_type(),
const allocator_type& alloc = allocator_type());
template <class InputIterator>
vector (InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type());
vector (const vector& x);
~vector();
vector& operator= (const vector& x);
iterator OOO();
const_iterator OOO() const;
size_type size() const;
=> return (len)
size_type max_size() const;
return (numeric_limits<difference_type>::max() / sizeof(T))
size_type capacity() const;
return (cap)
bool empty() const;
return (this->len == 0)
void reserve(size_type new_cap);
void resize(size_type count);
void resize(size_type count, const value_type& value);
reference OOO (size_type n);
const_reference OOO (size_type n) const;
template <class InputIterator>
void assign(InputIterator first, InputIterator last);
void assign(size_type n, const T& u);
void push_back (const value_type& val);
void pop_back();
iterator insert (iterator position, const value_type& val);
void insert (iterator position, size_type n, const
value_type& val);
template <class InputIterator>
void insert (iterator position, InputIterator first, InputIterator last);
iterator erase (iterator position);
iterator erase (iterator first, iterator last);
void swap (vector& x);
void clear();
allocator_type get_allocator() const;