#include <stl_vector.h>
Inheritance diagram for _GLIBCXX_STD::vector< _Tp, _Alloc >:
Public Types | |
typedef _Tp | value_type |
typedef _Tp_alloc_type::pointer | pointer |
typedef _Tp_alloc_type::const_pointer | const_pointer |
typedef _Tp_alloc_type::reference | reference |
typedef _Tp_alloc_type::const_reference | const_reference |
typedef __gnu_cxx::__normal_iterator< pointer, vector_type > | iterator |
typedef __gnu_cxx::__normal_iterator< const_pointer, vector_type > | const_iterator |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
typedef std::reverse_iterator< iterator > | reverse_iterator |
typedef size_t | size_type |
typedef ptrdiff_t | difference_type |
typedef _Alloc | allocator_type |
Public Member Functions | |
vector (const allocator_type &__a=allocator_type()) | |
Default constructor creates no elements. | |
vector (size_type __n, const value_type &__value=value_type(), const allocator_type &__a=allocator_type()) | |
Create a vector with copies of an exemplar element. | |
vector (const vector &__x) | |
Vector copy constructor. | |
template<typename _InputIterator> | |
vector (_InputIterator __first, _InputIterator __last, const allocator_type &__a=allocator_type()) | |
Builds a vector from a range. | |
~vector () | |
vector & | operator= (const vector &__x) |
Vector assignment operator. | |
void | assign (size_type __n, const value_type &__val) |
Assigns a given value to a vector. | |
template<typename _InputIterator> | |
void | assign (_InputIterator __first, _InputIterator __last) |
Assigns a range to a vector. | |
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 __new_size, value_type __x=value_type()) |
Resizes the vector to the specified number of elements. | |
size_type | capacity () const |
bool | empty () const |
void | reserve (size_type __n) |
Attempt to preallocate enough memory for specified number of elements. | |
reference | operator[] (size_type __n) |
Subscript access to the data contained in the vector. | |
const_reference | operator[] (size_type __n) const |
Subscript access to the data contained in the vector. | |
reference | at (size_type __n) |
Provides access to the data contained in the vector. | |
const_reference | at (size_type __n) const |
Provides access to the data contained in the vector. | |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
pointer | data () |
const_pointer | data () const |
void | push_back (const value_type &__x) |
Add data to the end of the vector. | |
void | pop_back () |
Removes last element. | |
iterator | insert (iterator __position, const value_type &__x) |
Inserts given value into vector before specified iterator. | |
void | insert (iterator __position, size_type __n, const value_type &__x) |
Inserts a number of copies of given data into the vector. | |
template<typename _InputIterator> | |
void | insert (iterator __position, _InputIterator __first, _InputIterator __last) |
Inserts a range into the vector. | |
iterator | erase (iterator __position) |
Remove element at given position. | |
iterator | erase (iterator __first, iterator __last) |
Remove a range of elements. | |
void | swap (vector &__x) |
Swaps data with another vector. | |
void | clear () |
Protected Member Functions | |
void | _M_range_check (size_type __n) const |
template<typename _ForwardIterator> | |
pointer | _M_allocate_and_copy (size_type __n, _ForwardIterator __first, _ForwardIterator __last) |
template<typename _Integer> | |
void | _M_initialize_dispatch (_Integer __n, _Integer __value, __true_type) |
template<typename _InputIterator> | |
void | _M_initialize_dispatch (_InputIterator __first, _InputIterator __last, __false_type) |
template<typename _InputIterator> | |
void | _M_range_initialize (_InputIterator __first, _InputIterator __last, std::input_iterator_tag) |
template<typename _ForwardIterator> | |
void | _M_range_initialize (_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) |
template<typename _Integer> | |
void | _M_assign_dispatch (_Integer __n, _Integer __val, __true_type) |
template<typename _InputIterator> | |
void | _M_assign_dispatch (_InputIterator __first, _InputIterator __last, __false_type) |
template<typename _InputIterator> | |
void | _M_assign_aux (_InputIterator __first, _InputIterator __last, std::input_iterator_tag) |
template<typename _ForwardIterator> | |
void | _M_assign_aux (_ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) |
void | _M_fill_assign (size_type __n, const value_type &__val) |
template<typename _Integer> | |
void | _M_insert_dispatch (iterator __pos, _Integer __n, _Integer __val, __true_type) |
template<typename _InputIterator> | |
void | _M_insert_dispatch (iterator __pos, _InputIterator __first, _InputIterator __last, __false_type) |
template<typename _InputIterator> | |
void | _M_range_insert (iterator __pos, _InputIterator __first, _InputIterator __last, std::input_iterator_tag) |
template<typename _ForwardIterator> | |
void | _M_range_insert (iterator __pos, _ForwardIterator __first, _ForwardIterator __last, std::forward_iterator_tag) |
void | _M_fill_insert (iterator __pos, size_type __n, const value_type &__x) |
void | _M_insert_aux (iterator __position, const value_type &__x) |
Private Types | |
typedef _Alloc::value_type | _Alloc_value_type |
typedef vector< _Tp, _Alloc > | vector_type |
typedef _Base::_Tp_alloc_type | _Tp_alloc_type |
Private Member Functions | |
__glibcxx_class_requires (_Tp, _SGIAssignableConcept) __glibcxx_class_requires2(_Tp | |
Private Attributes | |
_Alloc_value_type | |
_SameTypeConcept typedef _Vector_base< _Tp, _Alloc > | _Base |
Meets the requirements of a container, a reversible container, and a sequence, including the optional sequence requirements with the exception of push_front
and pop_front
.
In some terminology a vector can be described as a dynamic C-style array, it offers fast and efficient access to individual elements in any order and saves the user from worrying about memory and size allocation. Subscripting ( [] ) access is also provided as with C-style arrays.
Definition at line 158 of file stl_vector.h.
typedef _Alloc::value_type _GLIBCXX_STD::vector< _Tp, _Alloc >::_Alloc_value_type [private] |
Definition at line 161 of file stl_vector.h.
typedef _Base::_Tp_alloc_type _GLIBCXX_STD::vector< _Tp, _Alloc >::_Tp_alloc_type [private] |
Reimplemented from _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >.
Definition at line 167 of file stl_vector.h.
typedef _Alloc _GLIBCXX_STD::vector< _Tp, _Alloc >::allocator_type |
Reimplemented from _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 182 of file stl_vector.h.
typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type> _GLIBCXX_STD::vector< _Tp, _Alloc >::const_iterator |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 177 of file stl_vector.h.
typedef _Tp_alloc_type::const_pointer _GLIBCXX_STD::vector< _Tp, _Alloc >::const_pointer |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 172 of file stl_vector.h.
typedef _Tp_alloc_type::const_reference _GLIBCXX_STD::vector< _Tp, _Alloc >::const_reference |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 174 of file stl_vector.h.
typedef std::reverse_iterator<const_iterator> _GLIBCXX_STD::vector< _Tp, _Alloc >::const_reverse_iterator |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 178 of file stl_vector.h.
typedef ptrdiff_t _GLIBCXX_STD::vector< _Tp, _Alloc >::difference_type |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 181 of file stl_vector.h.
typedef __gnu_cxx::__normal_iterator<pointer, vector_type> _GLIBCXX_STD::vector< _Tp, _Alloc >::iterator |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 175 of file stl_vector.h.
typedef _Tp_alloc_type::pointer _GLIBCXX_STD::vector< _Tp, _Alloc >::pointer |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 171 of file stl_vector.h.
typedef _Tp_alloc_type::reference _GLIBCXX_STD::vector< _Tp, _Alloc >::reference |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 173 of file stl_vector.h.
typedef std::reverse_iterator<iterator> _GLIBCXX_STD::vector< _Tp, _Alloc >::reverse_iterator |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 179 of file stl_vector.h.
typedef size_t _GLIBCXX_STD::vector< _Tp, _Alloc >::size_type |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 180 of file stl_vector.h.
typedef _Tp _GLIBCXX_STD::vector< _Tp, _Alloc >::value_type |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 170 of file stl_vector.h.
typedef vector<_Tp, _Alloc> _GLIBCXX_STD::vector< _Tp, _Alloc >::vector_type [private] |
Definition at line 166 of file stl_vector.h.
_GLIBCXX_STD::vector< _Tp, _Alloc >::vector | ( | const allocator_type & | __a = allocator_type() |
) | [inline, explicit] |
Default constructor creates no elements.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 202 of file stl_vector.h.
_GLIBCXX_STD::vector< _Tp, _Alloc >::vector | ( | size_type | __n, | |
const value_type & | __value = value_type() , |
|||
const allocator_type & | __a = allocator_type() | |||
) | [inline, explicit] |
Create a vector with copies of an exemplar element.
n | The number of elements to initially create. | |
value | An element to copy. |
Definition at line 214 of file stl_vector.h.
_GLIBCXX_STD::vector< _Tp, _Alloc >::vector | ( | const vector< _Tp, _Alloc > & | __x | ) | [inline] |
Vector copy constructor.
x | A vector of identical element and allocator types. |
Definition at line 232 of file stl_vector.h.
_GLIBCXX_STD::vector< _Tp, _Alloc >::vector | ( | _InputIterator | __first, | |
_InputIterator | __last, | |||
const allocator_type & | __a = allocator_type() | |||
) | [inline] |
Builds a vector from a range.
first | An input iterator. | |
last | An input iterator. |
If the iterators are forward, bidirectional, or random-access, then this will call the elements' copy constructor N times (where N is distance(first,last)) and do no memory reallocation. But if only input iterators are used, then this will do at most 2N calls to the copy constructor, and logN memory reallocations.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 256 of file stl_vector.h.
_GLIBCXX_STD::vector< _Tp, _Alloc >::~vector | ( | ) | [inline] |
The dtor only erases the elements, and note that if the elements themselves are pointers, the pointed-to memory is not touched in any way. Managing the pointer is the user's responsibilty.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 271 of file stl_vector.h.
_GLIBCXX_STD::vector< _Tp, _Alloc >::__glibcxx_class_requires | ( | _Tp | , | |
_SGIAssignableConcept | ||||
) | [private] |
pointer _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_allocate_and_copy | ( | size_type | __n, | |
_ForwardIterator | __first, | |||
_ForwardIterator | __last | |||
) | [inline, protected] |
Definition at line 764 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::reserve().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux | ( | _ForwardIterator | __first, | |
_ForwardIterator | __last, | |||
std::forward_iterator_tag | ||||
) | [protected] |
Definition at line 210 of file vector.tcc.
References std::__uninitialized_copy_a(), std::_Destroy(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_allocate_and_copy(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_deallocate(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_get_Tp_allocator(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, std::advance(), __gnu_cxx::__normal_iterator< _Iterator, _Container >::base(), _GLIBCXX_STD::vector< _Tp, _Alloc >::capacity(), std::copy(), std::distance(), _GLIBCXX_STD::vector< _Tp, _Alloc >::end(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::size().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux | ( | _InputIterator | __first, | |
_InputIterator | __last, | |||
std::input_iterator_tag | ||||
) | [protected] |
Definition at line 194 of file vector.tcc.
References _GLIBCXX_STD::vector< _Tp, _Alloc >::begin(), _GLIBCXX_STD::vector< _Tp, _Alloc >::end(), _GLIBCXX_STD::vector< _Tp, _Alloc >::erase(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::insert().
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_assign_dispatch(), and _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_dispatch().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_dispatch | ( | _InputIterator | __first, | |
_InputIterator | __last, | |||
__false_type | ||||
) | [inline, protected] |
Definition at line 848 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_dispatch | ( | _Integer | __n, | |
_Integer | __val, | |||
__true_type | ||||
) | [inline, protected] |
Definition at line 839 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::assign(), and _GLIBCXX_STD::vector< bool, _Alloc >::assign().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign | ( | size_type | __n, | |
const value_type & | __val | |||
) | [protected] |
Definition at line 171 of file vector.tcc.
References std::__uninitialized_fill_n_a(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_get_Tp_allocator(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, _GLIBCXX_STD::vector< _Tp, _Alloc >::begin(), _GLIBCXX_STD::vector< _Tp, _Alloc >::capacity(), _GLIBCXX_STD::vector< _Tp, _Alloc >::end(), _GLIBCXX_STD::vector< _Tp, _Alloc >::erase(), std::fill(), std::fill_n(), _GLIBCXX_STD::vector< _Tp, _Alloc >::size(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::swap().
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_assign_dispatch(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_dispatch(), _GLIBCXX_STD::vector< _Tp, _Allocator >::assign(), and _GLIBCXX_STD::vector< bool, _Alloc >::assign().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert | ( | iterator | __pos, | |
size_type | __n, | |||
const value_type & | __x | |||
) | [protected] |
Definition at line 311 of file vector.tcc.
References __N, __throw_exception_again, std::__throw_length_error(), std::__uninitialized_copy_a(), std::__uninitialized_fill_n_a(), std::_Destroy(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_deallocate(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_get_Tp_allocator(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, _GLIBCXX_STD::vector< _Tp, _Alloc >::begin(), std::copy_backward(), _GLIBCXX_STD::vector< _Tp, _Alloc >::end(), std::fill(), std::max(), _GLIBCXX_STD::vector< _Tp, _Alloc >::max_size(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::size().
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_insert_dispatch(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_dispatch(), _GLIBCXX_STD::vector< _Tp, _Allocator >::insert(), and _GLIBCXX_STD::vector< bool, _Alloc >::insert().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_initialize_dispatch | ( | _InputIterator | __first, | |
_InputIterator | __last, | |||
__false_type | ||||
) | [inline, protected] |
Definition at line 799 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_initialize_dispatch | ( | _Integer | __n, | |
_Integer | __value, | |||
__true_type | ||||
) | [inline, protected] |
Definition at line 787 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::vector(), and _GLIBCXX_STD::vector< bool, _Alloc >::vector().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux | ( | iterator | __position, | |
const value_type & | __x | |||
) | [protected] |
Definition at line 249 of file vector.tcc.
References __N, __throw_exception_again, std::__throw_length_error(), std::__uninitialized_copy_a(), std::_Destroy(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_deallocate(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_get_Tp_allocator(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, _GLIBCXX_STD::vector< _Tp, _Alloc >::begin(), std::copy_backward(), _GLIBCXX_STD::vector< _Tp, _Alloc >::end(), _GLIBCXX_STD::vector< _Tp, _Alloc >::max_size(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::size().
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::insert(), _GLIBCXX_STD::vector< bool, _Alloc >::insert(), _GLIBCXX_STD::vector< _Tp, _Allocator >::push_back(), and _GLIBCXX_STD::vector< bool, _Alloc >::push_back().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_dispatch | ( | iterator | __pos, | |
_InputIterator | __first, | |||
_InputIterator | __last, | |||
__false_type | ||||
) | [inline, protected] |
Definition at line 889 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_dispatch | ( | iterator | __pos, | |
_Integer | __n, | |||
_Integer | __val, | |||
__true_type | ||||
) | [inline, protected] |
Definition at line 879 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::insert(), and _GLIBCXX_STD::vector< bool, _Alloc >::insert().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_check | ( | size_type | __n | ) | const [inline, protected] |
Definition at line 500 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::at(), and _GLIBCXX_STD::vector< bool, _Alloc >::at().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_initialize | ( | _ForwardIterator | __first, | |
_ForwardIterator | __last, | |||
std::forward_iterator_tag | ||||
) | [inline, protected] |
Definition at line 820 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_initialize | ( | _InputIterator | __first, | |
_InputIterator | __last, | |||
std::input_iterator_tag | ||||
) | [inline, protected] |
Definition at line 810 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_initialize_dispatch().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert | ( | iterator | __pos, | |
_ForwardIterator | __first, | |||
_ForwardIterator | __last, | |||
std::forward_iterator_tag | ||||
) | [protected] |
Definition at line 408 of file vector.tcc.
References __N, __throw_exception_again, std::__throw_length_error(), std::__uninitialized_copy_a(), std::_Destroy(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_deallocate(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_get_Tp_allocator(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, std::advance(), std::copy(), std::copy_backward(), std::distance(), _GLIBCXX_STD::vector< _Tp, _Alloc >::end(), std::max(), _GLIBCXX_STD::vector< _Tp, _Alloc >::max_size(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::size().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert | ( | iterator | __pos, | |
_InputIterator | __first, | |||
_InputIterator | __last, | |||
std::input_iterator_tag | ||||
) | [protected] |
Definition at line 394 of file vector.tcc.
References _GLIBCXX_STD::vector< _Tp, _Alloc >::insert().
Referenced by _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_insert_dispatch().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::assign | ( | _InputIterator | __first, | |
_InputIterator | __last | |||
) | [inline] |
Assigns a range to a vector.
first | An input iterator. | |
last | An input iterator. |
Note that the assignment completely changes the vector and that the resulting vector's size is the same as the number of elements assigned. Old data may be lost.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 315 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::assign | ( | size_type | __n, | |
const value_type & | __val | |||
) | [inline] |
Assigns a given value to a vector.
n | Number of elements to be assigned. | |
val | Value to be assigned. |
Definition at line 298 of file stl_vector.h.
const_reference _GLIBCXX_STD::vector< _Tp, _Alloc >::at | ( | size_type | __n | ) | const [inline] |
Provides access to the data contained in the vector.
n | The index of the element for which data should be accessed. |
std::out_of_range | If n is an invalid index. |
Definition at line 537 of file stl_vector.h.
reference _GLIBCXX_STD::vector< _Tp, _Alloc >::at | ( | size_type | __n | ) | [inline] |
Provides access to the data contained in the vector.
n | The index of the element for which data should be accessed. |
std::out_of_range | If n is an invalid index. |
Definition at line 519 of file stl_vector.h.
const_reference _GLIBCXX_STD::vector< _Tp, _Alloc >::back | ( | ) | const [inline] |
Returns a read-only (constant) reference to the data at the last element of the vector.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 572 of file stl_vector.h.
reference _GLIBCXX_STD::vector< _Tp, _Alloc >::back | ( | ) | [inline] |
Returns a read/write reference to the data at the last element of the vector.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 564 of file stl_vector.h.
const_iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::begin | ( | ) | const [inline] |
Returns a read-only (constant) iterator that points to the first element in the vector. Iteration is done in ordinary element order.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 341 of file stl_vector.h.
iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::begin | ( | ) | [inline] |
Returns a read/write iterator that points to the first element in the vector. Iteration is done in ordinary element order.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 332 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), _GLIBCXX_STD::vector< _Tp, _Allocator >::capacity(), _GLIBCXX_STD::vector< bool, _Alloc >::capacity(), _GLIBCXX_STD::vector< bool, _Alloc >::clear(), _GLIBCXX_STD::vector< _Tp, _Allocator >::empty(), _GLIBCXX_STD::vector< bool, _Alloc >::empty(), _GLIBCXX_STD::vector< _Tp, _Allocator >::front(), _GLIBCXX_STD::vector< bool, _Alloc >::front(), _GLIBCXX_STD::vector< _Tp, _Alloc >::insert(), __gnu_debug_def::vector< _Tp, _Allocator >::insert(), _GLIBCXX_STD::vector< bool, _Alloc >::insert(), _GLIBCXX_STD::vector< bool, _Alloc >::operator=(), _GLIBCXX_STD::operator==(), _GLIBCXX_STD::vector< _Tp, _Allocator >::operator[](), _GLIBCXX_STD::vector< bool, _Alloc >::operator[](), _GLIBCXX_STD::vector< _Tp, _Allocator >::rend(), _GLIBCXX_STD::vector< bool, _Alloc >::rend(), _GLIBCXX_STD::vector< bool, _Alloc >::reserve(), _GLIBCXX_STD::vector< _Tp, _Allocator >::resize(), _GLIBCXX_STD::vector< bool, _Alloc >::resize(), _GLIBCXX_STD::vector< _Tp, _Allocator >::size(), _GLIBCXX_STD::vector< bool, _Alloc >::size(), _GLIBCXX_STD::vector< _Tp, _Allocator >::vector(), and _GLIBCXX_STD::vector< bool, _Alloc >::vector().
size_type _GLIBCXX_STD::vector< _Tp, _Alloc >::capacity | ( | ) | const [inline] |
Returns the total number of elements that the vector can hold before needing to allocate more memory.
Definition at line 434 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), and _GLIBCXX_STD::vector< bool, _Alloc >::operator=().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::clear | ( | ) | [inline] |
Erases all the elements. Note that this function only erases the elements, and that if the elements themselves are pointers, the pointed-to memory is not touched in any way. Managing the pointer is the user's responsibilty.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 748 of file stl_vector.h.
const_pointer _GLIBCXX_STD::vector< _Tp, _Alloc >::data | ( | ) | const [inline] |
Definition at line 587 of file stl_vector.h.
pointer _GLIBCXX_STD::vector< _Tp, _Alloc >::data | ( | ) | [inline] |
bool _GLIBCXX_STD::vector< _Tp, _Alloc >::empty | ( | ) | const [inline] |
Returns true if the vector is empty. (Thus begin() would equal end().)
Definition at line 443 of file stl_vector.h.
const_iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::end | ( | ) | const [inline] |
Returns a read-only (constant) iterator that points one past the last element in the vector. Iteration is done in ordinary element order.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 359 of file stl_vector.h.
iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::end | ( | ) | [inline] |
Returns a read/write iterator that points one past the last element in the vector. Iteration is done in ordinary element order.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 350 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::vector< _Tp, _Allocator >::back(), _GLIBCXX_STD::vector< bool, _Alloc >::back(), _GLIBCXX_STD::vector< bool, _Alloc >::clear(), _GLIBCXX_STD::vector< _Tp, _Allocator >::empty(), _GLIBCXX_STD::vector< bool, _Alloc >::empty(), _GLIBCXX_STD::vector< _Tp, _Alloc >::erase(), _GLIBCXX_STD::vector< bool, _Alloc >::erase(), _GLIBCXX_STD::vector< _Tp, _Alloc >::insert(), _GLIBCXX_STD::vector< bool, _Alloc >::insert(), _GLIBCXX_STD::vector< bool, _Alloc >::operator=(), _GLIBCXX_STD::operator==(), _GLIBCXX_STD::vector< _Tp, _Allocator >::push_back(), _GLIBCXX_STD::vector< bool, _Alloc >::push_back(), _GLIBCXX_STD::vector< _Tp, _Allocator >::rbegin(), _GLIBCXX_STD::vector< bool, _Alloc >::rbegin(), _GLIBCXX_STD::vector< bool, _Alloc >::reserve(), _GLIBCXX_STD::vector< _Tp, _Allocator >::resize(), _GLIBCXX_STD::vector< bool, _Alloc >::resize(), _GLIBCXX_STD::vector< _Tp, _Allocator >::size(), _GLIBCXX_STD::vector< bool, _Alloc >::size(), _GLIBCXX_STD::vector< _Tp, _Allocator >::vector(), and _GLIBCXX_STD::vector< bool, _Alloc >::vector().
vector< _Tp, _Alloc >::iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::erase | ( | iterator | __first, | |
iterator | __last | |||
) |
Remove a range of elements.
first | Iterator pointing to the first element to be erased. | |
last | Iterator pointing to one past the last element to be erased. |
Note This operation could be expensive and if it is frequently used the user should consider using std::list. The user is also cautioned that this function only erases the elements, and that if the elements themselves are pointers, the pointed-to memory is not touched in any way. Managing the pointer is the user's responsibilty.
Definition at line 122 of file vector.tcc.
References std::_Destroy(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_get_Tp_allocator(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, std::copy(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::end().
vector< _Tp, _Alloc >::iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::erase | ( | iterator | __position | ) |
Remove element at given position.
position | Iterator pointing to element to be erased. |
Note This operation could be expensive and if it is frequently used the user should consider using std::list. The user is also cautioned that this function only erases the element, and that if the element is itself a pointer, the pointed-to memory is not touched in any way. Managing the pointer is the user's responsibilty.
Definition at line 110 of file vector.tcc.
References _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, std::copy(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::end().
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::clear(), _GLIBCXX_STD::vector< _Tp, _Allocator >::resize(), and _GLIBCXX_STD::vector< bool, _Alloc >::resize().
const_reference _GLIBCXX_STD::vector< _Tp, _Alloc >::front | ( | ) | const [inline] |
Returns a read-only (constant) reference to the data at the first element of the vector.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 556 of file stl_vector.h.
reference _GLIBCXX_STD::vector< _Tp, _Alloc >::front | ( | ) | [inline] |
Returns a read/write reference to the data at the first element of the vector.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 548 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::insert | ( | iterator | __position, | |
_InputIterator | __first, | |||
_InputIterator | __last | |||
) | [inline] |
Inserts a range into the vector.
position | An iterator into the vector. | |
first | An input iterator. | |
last | An input iterator. |
Note that this kind of operation could be expensive for a vector and if it is frequently used the user should consider using std::list.
Definition at line 676 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::insert | ( | iterator | __position, | |
size_type | __n, | |||
const value_type & | __x | |||
) | [inline] |
Inserts a number of copies of given data into the vector.
position | An iterator into the vector. | |
n | Number of elements to be inserted. | |
x | Data to be inserted. |
Note that this kind of operation could be expensive for a vector and if it is frequently used the user should consider using std::list.
Definition at line 657 of file stl_vector.h.
vector< _Tp, _Alloc >::iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::insert | ( | iterator | __position, | |
const value_type & | __x | |||
) |
Inserts given value into vector before specified iterator.
position | An iterator into the vector. | |
x | Data to be inserted. |
Definition at line 93 of file vector.tcc.
References _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::begin(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::end().
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::vector< _Tp, _Allocator >::resize(), and _GLIBCXX_STD::vector< bool, _Alloc >::resize().
size_type _GLIBCXX_STD::vector< _Tp, _Alloc >::max_size | ( | ) | const [inline] |
Returns the size() of the largest possible vector.
Definition at line 406 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), and _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert().
vector& _GLIBCXX_STD::vector< _Tp, _Alloc >::operator= | ( | const vector< _Tp, _Alloc > & | __x | ) |
Vector assignment operator.
x | A vector of identical element and allocator types. |
const_reference _GLIBCXX_STD::vector< _Tp, _Alloc >::operator[] | ( | size_type | __n | ) | const [inline] |
Subscript access to the data contained in the vector.
n | The index of the element for which data should be accessed. |
Definition at line 494 of file stl_vector.h.
reference _GLIBCXX_STD::vector< _Tp, _Alloc >::operator[] | ( | size_type | __n | ) | [inline] |
Subscript access to the data contained in the vector.
n | The index of the element for which data should be accessed. |
Definition at line 479 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::pop_back | ( | ) | [inline] |
Removes last element.
This is a typical stack operation. It shrinks the vector by one.
Note that no data is returned, and if the last element's data is needed, it should be retrieved before pop_back() is called.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 623 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::push_back | ( | const value_type & | __x | ) | [inline] |
Add data to the end of the vector.
x | Data to be added. |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 602 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< bool, _Alloc >::_M_initialize_range(), and _GLIBCXX_STD::vector< _Tp, _Allocator >::_M_range_initialize().
const_reverse_iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::rbegin | ( | ) | const [inline] |
Returns a read-only (constant) reverse iterator that points to the last element in the vector. Iteration is done in reverse element order.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 377 of file stl_vector.h.
reverse_iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::rbegin | ( | ) | [inline] |
Returns a read/write reverse iterator that points to the last element in the vector. Iteration is done in reverse element order.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 368 of file stl_vector.h.
const_reverse_iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::rend | ( | ) | const [inline] |
Returns a read-only (constant) reverse iterator that points to one before the first element in the vector. Iteration is done in reverse element order.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 395 of file stl_vector.h.
reverse_iterator _GLIBCXX_STD::vector< _Tp, _Alloc >::rend | ( | ) | [inline] |
Returns a read/write reverse iterator that points to one before the first element in the vector. Iteration is done in reverse element order.
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 386 of file stl_vector.h.
void _GLIBCXX_STD::vector< _Tp, _Alloc >::reserve | ( | size_type | __n | ) |
Attempt to preallocate enough memory for specified number of elements.
n | Number of elements required. |
std::length_error | If n exceeds max_size() . |
The advantage of this function is that if optimal code is a necessity and the user can determine the number of elements that will be required, the user can reserve the memory in advance, and thus prevent a possible reallocation of memory and copying of vector data.
Definition at line 69 of file vector.tcc.
References __N, std::__throw_length_error(), std::_Destroy(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_allocate_and_copy(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_deallocate(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_get_Tp_allocator(), _GLIBCXX_STD::_Vector_base< _Tp, _Alloc >::_M_impl, and _GLIBCXX_STD::vector< _Tp, _Alloc >::size().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::resize | ( | size_type | __new_size, | |
value_type | __x = value_type() | |||
) | [inline] |
Resizes the vector to the specified number of elements.
new_size | Number of elements the vector should contain. | |
x | Data with which new elements should be populated. |
Definition at line 421 of file stl_vector.h.
size_type _GLIBCXX_STD::vector< _Tp, _Alloc >::size | ( | ) | const [inline] |
Returns the number of elements in the vector.
Definition at line 401 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_assign_aux(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_assign(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_fill_insert(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_aux(), _GLIBCXX_STD::vector< bool, _Alloc >::_M_insert_range(), _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_range_insert(), _GLIBCXX_STD::vector< bool, _Alloc >::operator=(), _GLIBCXX_STD::operator==(), _GLIBCXX_STD::vector< _Tp, _Alloc >::reserve(), _GLIBCXX_STD::vector< _Tp, _Allocator >::resize(), _GLIBCXX_STD::vector< bool, _Alloc >::resize(), and _GLIBCXX_STD::vector< bool, _Alloc >::vector().
void _GLIBCXX_STD::vector< _Tp, _Alloc >::swap | ( | vector< _Tp, _Alloc > & | __x | ) | [inline] |
Swaps data with another vector.
x | A vector of the same element and allocator types. |
Definition at line 733 of file stl_vector.h.
Referenced by _GLIBCXX_STD::vector< _Tp, _Alloc >::_M_fill_assign(), and _GLIBCXX_STD::swap().
_GLIBCXX_STD::vector< _Tp, _Alloc >::_Alloc_value_type [private] |
Definition at line 163 of file stl_vector.h.
_SameTypeConcept typedef _Vector_base<_Tp, _Alloc> _GLIBCXX_STD::vector< _Tp, _Alloc >::_Base [private] |
Reimplemented in __gnu_debug_def::vector< _Tp, _Allocator >.
Definition at line 163 of file stl_vector.h.