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;
}
written by Dimitri van Heesch, © 1997-1999