Public Members | |||
![]() | ![]() | typedef Allocator::reference | reference |
![]() | ![]() | typedef Allocator::const_reference | const_reference |
![]() | ![]() | typedef Allocator::size_type | size_type |
![]() | ![]() | typedef Allocator::difference_type | difference_type |
![]() | ![]() | typedef T | value_type |
![]() | ![]() | typedef Allocator | allocator_type |
![]() | ![]() | typedef Allocator::pointer | pointer |
![]() | ![]() | typedef Allocator::const_pointer | const_pointer |
![]() | ![]() | typedef Allocator::pointer | iterator |
![]() | ![]() | typedef Allocator::const_pointer | const_iterator |
![]() | ![]() | typedef std::reverse_iterator<iterator> | reverse_iterator |
![]() | ![]() | typedef std::reverse_iterator<const_iterator> | const_reverse_iterator |
![]() | ![]() | explicit | vector (const Allocator &alloc = Allocator()) |
![]() | ![]() | template<class InputIterator> | vector<InputIterator> (InputIterator first, InputIterator last, const Allocator &alloc = Allocator()) |
![]() | ![]() | explicit | vector (size_type n, const T& value = T(), const Allocator &alloc= Allocator()) |
![]() | ![]() | ~vector () | |
![]() | ![]() | vector<T,Allocator>& | operator= (const vector<T,Allocator> &x) |
![]() | ![]() | template<class InputIterator> void | assign<InputIterator> (InputIterator first, InputIterator last) |
![]() | ![]() | allocator_type | get_allocator () const |
![]() | ![]() | iterator | begin () |
![]() | ![]() | const_iterator | begin () const |
![]() | ![]() | iterator | end () |
![]() | ![]() | const_iterator | end () const |
![]() | ![]() | reverse_iterator | rbegin () |
![]() | ![]() | const_reverse_iterator | rbegin () const |
![]() | ![]() | reverse_iterator | rend () |
![]() | ![]() | const_reverse_iterator | rend () const |
![]() | ![]() | size_type | size () const |
![]() | ![]() | size_type | max_size () const |
![]() | ![]() | void | resize (size_type sz, T c = T()) |
![]() | ![]() | size_type | capacity () const |
![]() | ![]() | bool | empty () const |
![]() | ![]() | void | reserve (size_type n) |
![]() | ![]() | reference | operator[] (size_type n) |
![]() | ![]() | const_reference | operator[] (size_type n) const |
![]() | ![]() | const_reference | at (size_type n) const |
![]() | ![]() | reference | at (size_type n) |
![]() | ![]() | reference | front () |
![]() | ![]() | const_reference | front () const |
![]() | ![]() | reference | back () |
![]() | ![]() | const_reference | back () const |
![]() | ![]() | void | push_back (const T &x) |
![]() | ![]() | void | pop_back () |
![]() | ![]() | iterator | insert (iterator position, const T &x = T()) |
![]() | ![]() | void | insert (iterator position, size_type n, const T& x) |
![]() | ![]() | template<class InputIterator> void | insert<InputIterator> (iterator position, InputIterator first, InputIterator last) |
![]() | ![]() | iterator | erase (iterator position) |
![]() | ![]() | iterator | erase (iterator first, iterator last) |
![]() | ![]() | void | swap (vector<T,Allocator> &x) |
![]() | ![]() | void | clear () |
{ vec.size = 0; vec.elements = 0; vec.allocator = alloc; vec.offset = vec.allocator.allocate(0); }
{ vec.size = 0; vec.elements = 0; vec.allocator = alloc; vec.offset = vec.allocator.allocate(0); reserve(n); /// TODO : insert value }
{ vec.allocator.deallocate(vec.offset, vec.size); }
{ vec = x.vec; }
{ return vec.allocator; }
{ return vec.offset; }
{ return (const_iterator)vec.offset; }
{ return &vec.offset[vec.elements]; }
{ return &(const_iterator)vec.offset[vec.elements]; }
{ return &vec.offset[vec.elements]; }
{ return &(const_reverse_iterator)vec.offset[vec.elements]; }
{ return vec.offset; }
{ return (const_reverse_iterator)vec.offset; }
{ return vec.elements; }
{ return vec.allocator.max_size; }
{ return vec.size; }
{ return vec.elements == 0; }
{ if (capacity() < n ) { pointer tmp = new T[n]; // vec.allocator.allocate(n); memcpy(tmp, vec.offset, vec.elements * sizeof(T)); delete [] vec.offset; // vec.allocator.deallocate(vec.offset, vec.size; vec.offset = tmp; vec.size = n; } }
{ return vec.offset[n]; }
{ return vec.offset[n]; }
{ if (n >= vec.elements) throw out_of_range("argument out of range"); return vec.offset[n]; }
{ if (n >= vec.elements) throw out_of_range("argument out of range"); return vec.offset[n]; }
{ return &vec.offset[n]; }
{ return &vec.offset[n]; }
{ return &vec.offset[vec.elements - 1]; }
{ return &vec.offset[vec.elements - 1]; }
{ while (first != last) insert(position, 1, *--last); }
{ for (iterator x = position ; x < end() - 1; x++) *x = *(x + 1); vec.elements--; return position; }
{ for (iterator x = last ; x < end() - 1; x++) *first++ = *(x + 1); vec.elements -= last - first; return last; }
{ Vec tmp = x.vec; x.vec = vec; vec = tmp; }