3 * - By John Hodge (thePowersGang)
8 #ifndef _LIBCXX_VECTOR_
9 #define _LIBCXX_VECTOR_
16 template <class T> class vector_iterator;
19 template <class T, class Alloc = allocator<T> >
24 typedef Alloc allocator_type;
25 typedef typename allocator_type::reference reference;
26 typedef typename allocator_type::const_reference const_reference;
27 typedef typename allocator_type::pointer pointer;
28 typedef typename allocator_type::const_pointer const_pointer;
29 typedef ::std::_bits::vector_iterator<T> iterator;
30 typedef ::std::_bits::vector_iterator<const T> const_iterator;
31 typedef int difference_type;
32 typedef size_t size_type;
35 allocator_type m_alloc;
41 vector(const allocator_type& alloc = allocator_type()):
48 vector(size_type n, const value_type& val = value_type(), const allocator_type& alloc = allocator_type()):
53 vector(const vector& x):
61 for( size_type i = 0; i < m_size; i ++ ) {
62 m_alloc.destroy( &m_data[i] );