#include <stl_list.h>
Public Methods | |
list (const allocator_type &__a=allocator_type()) | |
Default constructor creates no elements. | |
list (size_type __n, const value_type &__value, const allocator_type &__a=allocator_type()) | |
Create a %list with copies of an exemplar element. | |
list (size_type __n) | |
Create a %list with default elements. | |
list (const list &__x) | |
%List copy constructor. | |
template<typename _InputIterator> | list (_InputIterator __first, _InputIterator __last, const allocator_type &__a=allocator_type()) |
Builds a %list from a range. | |
~list () | |
list & | operator= (const list &__x) |
%List assignment operator. | |
void | assign (size_type __n, const value_type &__val) |
Assigns a given value to a %list. | |
template<typename _InputIterator> void | assign (_InputIterator __first, _InputIterator __last) |
Assigns a range to a %list. | |
allocator_type | get_allocator () const |
Get a copy of the memory allocation object. | |
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 |
bool | empty () const |
size_type | size () const |
size_type | max_size () const |
void | resize (size_type __new_size, const value_type &__x) |
Resizes the %list to the specified number of elements. | |
void | resize (size_type __new_size) |
Resizes the %list to the specified number of elements. | |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
void | push_front (const value_type &__x) |
Add data to the front of the %list. | |
void | push_front () |
Add data to the front of the %list. | |
void | pop_front () |
Removes first element. | |
void | push_back (const value_type &__x) |
Add data to the end of the %list. | |
void | push_back () |
Add data to the end of the %list. | |
void | pop_back () |
Removes last element. | |
iterator | insert (iterator __position, const value_type &__x) |
Inserts given value into %list before specified iterator. | |
iterator | insert (iterator __position) |
Inserts an element into the %list. | |
void | insert (iterator __pos, size_type __n, const value_type &__x) |
Inserts a number of copies of given data into the %list. | |
template<typename _InputIterator> void | insert (iterator __pos, _InputIterator __first, _InputIterator __last) |
Inserts a range into the %list. | |
iterator | erase (iterator __position) |
Remove element at given position. | |
iterator | erase (iterator __first, iterator __last) |
Remove a range of elements. | |
void | swap (list &__x) |
Swaps data with another %list. | |
void | clear () |
void | splice (iterator __position, list &__x) |
void | splice (iterator __position, list &, iterator __i) |
void | splice (iterator __position, list &, iterator __first, iterator __last) |
void | remove (const _Tp &__value) |
template<typename _Predicate> void | remove_if (_Predicate) |
void | unique () |
template<typename _BinaryPredicate> void | unique (_BinaryPredicate) |
void | merge (list &__x) |
template<typename _StrictWeakOrdering> void | merge (list &, _StrictWeakOrdering) |
void | reverse () |
void | sort () |
template<typename _StrictWeakOrdering> void | sort (_StrictWeakOrdering) |
Meets the requirements of a container, a reversible container, and a sequence, including the optional sequence requirements with the %exception of at
and operator[].
This is a doubly linked %list. Traversal up and down the %list requires linear time, but adding and removing elements (or nodes) is done in constant time, regardless of where the change takes place. Unlike std::vector and std::deque, random-access iterators are not provided, so subscripting ( []
) access is not allowed. For algorithms which only need sequential access, this lack makes no difference.
Also unlike the other standard containers, std::list provides specialized algorithms %unique to linked lists, such as splicing, sorting, and in-place reversal.
Definition at line 366 of file stl_list.h.
|
Default constructor creates no elements.
Definition at line 451 of file stl_list.h. |
|
Create a %list with copies of an exemplar element.
Definition at line 461 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , and std::list< _Tp, _Alloc >::insert() . |
|
Create a %list with default elements.
Definition at line 474 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , and std::list< _Tp, _Alloc >::insert() . |
|
%List copy constructor.
Definition at line 485 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::get_allocator() , and std::list< _Tp, _Alloc >::insert() . |
|
Builds a %list from a range.
Definition at line 503 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , and std::list< _Tp, _Alloc >::insert() . |
|
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. Definition at line 513 of file stl_list.h. |
|
Assigns a range to a %list.
Note that the assignment completely changes the %list and that the resulting %list's size is the same as the number of elements assigned. Old data may be lost. Definition at line 552 of file stl_list.h. |
|
Assigns a given value to a %list.
Definition at line 536 of file stl_list.h. |
|
Returns a read-only (constant) reference to the data at the last element of the %list. Definition at line 690 of file stl_list.h. References std::list< _Tp, _Alloc >::end() . |
|
Returns a read/write reference to the data at the last element of the %list. Definition at line 683 of file stl_list.h. References std::list< _Tp, _Alloc >::end() . |
|
Returns a read-only (constant) iterator that points to the first element in the %list. Iteration is done in ordinary element order. Definition at line 576 of file stl_list.h. |
|
Returns a read/write iterator that points to the first element in the %list. Iteration is done in ordinary element order. Definition at line 569 of file stl_list.h. Referenced by std::list< _Tp, _Alloc >::front() , std::list< _Tp, _Alloc >::list() , std::list< _Tp, _Alloc >::merge() , std::list< _Tp, _Alloc >::operator=() , std::operator==() , std::list< _Tp, _Alloc >::pop_front() , std::list< _Tp, _Alloc >::push_front() , std::list< _Tp, _Alloc >::remove_if() , std::list< _Tp, _Alloc >::rend() , std::list< _Tp, _Alloc >::resize() , std::list< _Tp, _Alloc >::size() , std::list< _Tp, _Alloc >::sort() , std::list< _Tp, _Alloc >::splice() , and std::list< _Tp, _Alloc >::unique() . |
|
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. Definition at line 919 of file stl_list.h. |
|
Returns true if the %list is empty. (Thus begin() would equal end().) Definition at line 628 of file stl_list.h. Referenced by std::list< _Tp, _Alloc >::sort() , and std::list< _Tp, _Alloc >::splice() . |
|
Returns a read-only (constant) iterator that points one past the last element in the %list. Iteration is done in ordinary element order. Definition at line 590 of file stl_list.h. |
|
Returns a read/write iterator that points one past the last element in the %list. Iteration is done in ordinary element order. Definition at line 583 of file stl_list.h. Referenced by std::list< _Tp, _Alloc >::back() , std::list< _Tp, _Alloc >::merge() , std::list< _Tp, _Alloc >::operator=() , std::operator==() , std::list< _Tp, _Alloc >::pop_back() , std::list< _Tp, _Alloc >::push_back() , std::list< _Tp, _Alloc >::rbegin() , std::list< _Tp, _Alloc >::remove_if() , std::list< _Tp, _Alloc >::resize() , std::list< _Tp, _Alloc >::size() , std::list< _Tp, _Alloc >::splice() , and std::list< _Tp, _Alloc >::unique() . |
|
Remove a range of elements.
Due to the nature of a %list this operation can be done in constant time, and only invalidates iterators/references to the element being removed. 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 893 of file stl_list.h. References std::list< _Tp, _Alloc >::erase() . |
|
Remove element at given position.
Due to the nature of a %list this operation can be done in constant time, and only invalidates iterators/references to the element being removed. 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 100 of file list.tcc. Referenced by std::list< _Tp, _Alloc >::erase() , std::list< _Tp, _Alloc >::operator=() , std::list< _Tp, _Alloc >::pop_back() , std::list< _Tp, _Alloc >::pop_front() , std::list< _Tp, _Alloc >::remove_if() , std::list< _Tp, _Alloc >::resize() , and std::list< _Tp, _Alloc >::unique() . |
|
Returns a read-only (constant) reference to the data at the first element of the %list. Definition at line 676 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() . |
|
Returns a read/write reference to the data at the first element of the %list. Definition at line 669 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() . |
|
Get a copy of the memory allocation object.
Definition at line 561 of file stl_list.h. Referenced by std::list< _Tp, _Alloc >::list() . |
|
Inserts a range into the %list.
Due to the nature of a %list this operation can be done in constant time, and does not invalidate iterators and references. Definition at line 847 of file stl_list.h. |
|
Inserts a number of copies of given data into the %list.
Due to the nature of a %list this operation can be done in constant time, and does not invalidate iterators and references. Definition at line 830 of file stl_list.h. |
|
Inserts an element into the %list.
Definition at line 814 of file stl_list.h. References std::list< _Tp, _Alloc >::insert() . |
|
Inserts given value into %list before specified iterator.
Definition at line 87 of file list.tcc. Referenced by std::list< _Tp, _Alloc >::insert() , std::list< _Tp, _Alloc >::list() , std::list< _Tp, _Alloc >::operator=() , std::list< _Tp, _Alloc >::push_back() , std::list< _Tp, _Alloc >::push_front() , and std::list< _Tp, _Alloc >::resize() . |
|
Returns the size() of the largest possible %list. Definition at line 636 of file stl_list.h. |
|
Definition at line 318 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , and std::list< _Tp, _Alloc >::end() . |
|
Definition at line 217 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , and std::list< _Tp, _Alloc >::end() . Referenced by std::list< _Tp, _Alloc >::sort() . |
|
%List assignment operator.
Definition at line 130 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::end() , std::list< _Tp, _Alloc >::erase() , and std::list< _Tp, _Alloc >::insert() . |
|
Removes last element. This is a typical stack operation. It shrinks the %list by one. Due to the nature of a %list this operation can be done in constant time, and only invalidates iterators/references to the element being removed. Note that no data is returned, and if the last element's data is needed, it should be retrieved before pop_back() is called. Definition at line 777 of file stl_list.h. References std::list< _Tp, _Alloc >::end() , and std::list< _Tp, _Alloc >::erase() . |
|
Removes first element. This is a typical stack operation. It shrinks the %list by one. Due to the nature of a %list this operation can be done in constant time, and only invalidates iterators/references to the element being removed. Note that no data is returned, and if the first element's data is needed, it should be retrieved before pop_front() is called. Definition at line 734 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , and std::list< _Tp, _Alloc >::erase() . |
|
Add data to the end of the %list. This is a typical stack operation. The function creates a default-constructed element at the end of the %list. Due to the nature of a %list this operation can be done in constant time. You should consider using push_back(value_type()) instead.
Definition at line 762 of file stl_list.h. References std::list< _Tp, _Alloc >::end() , and std::list< _Tp, _Alloc >::insert() . |
|
Add data to the end of the %list.
Definition at line 746 of file stl_list.h. References std::list< _Tp, _Alloc >::end() , and std::list< _Tp, _Alloc >::insert() . |
|
Add data to the front of the %list. This is a typical stack operation. The function creates a default-constructed element at the front of the %list. Due to the nature of a %list this operation can be done in constant time. You should consider using push_front(value_type()) instead.
Definition at line 719 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , and std::list< _Tp, _Alloc >::insert() . |
|
Add data to the front of the %list.
Definition at line 703 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , and std::list< _Tp, _Alloc >::insert() . |
|
Returns a read-only (constant) reverse iterator that points to the last element in the %list. Iteration is done in reverse element order. Definition at line 604 of file stl_list.h. References std::list< _Tp, _Alloc >::end() . |
|
Returns a read/write reverse iterator that points to the last element in the %list. Iteration is done in reverse element order. Definition at line 597 of file stl_list.h. References std::list< _Tp, _Alloc >::end() . |
|
|
|
Definition at line 281 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::end() , and std::list< _Tp, _Alloc >::erase() . |
|
Returns a read-only (constant) reverse iterator that points to one before the first element in the %list. Iteration is done in reverse element order. Definition at line 620 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() . |
|
Returns a read/write reverse iterator that points to one before the first element in the %list. Iteration is done in reverse element order. Definition at line 612 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() . |
|
Resizes the %list to the specified number of elements.
Definition at line 661 of file stl_list.h. References std::list< _Tp, _Alloc >::resize() . |
|
Resizes the %list to the specified number of elements.
Definition at line 115 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::end() , std::list< _Tp, _Alloc >::erase() , and std::list< _Tp, _Alloc >::insert() . Referenced by std::list< _Tp, _Alloc >::resize() . |
|
Definition at line 997 of file stl_list.h. |
|
Returns the number of elements in the %list. Definition at line 632 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , __gnu_cxx::distance() , and std::list< _Tp, _Alloc >::end() . |
|
Definition at line 340 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::empty() , std::list< _Tp, _Alloc >::merge() , std::list< _Tp, _Alloc >::splice() , and std::list< _Tp, _Alloc >::swap() . |
|
Definition at line 250 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::empty() , std::list< _Tp, _Alloc >::merge() , std::list< _Tp, _Alloc >::splice() , and std::list< _Tp, _Alloc >::swap() . |
|
Definition at line 948 of file stl_list.h. |
|
Definition at line 936 of file stl_list.h. |
|
Definition at line 926 of file stl_list.h. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::empty() , and std::list< _Tp, _Alloc >::end() . Referenced by std::list< _Tp, _Alloc >::sort() . |
|
Swaps data with another %list.
Definition at line 910 of file stl_list.h. References std::swap() . Referenced by std::list< _Tp, _Alloc >::sort() , and std::swap() . |
|
Definition at line 298 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::end() , and std::list< _Tp, _Alloc >::erase() . |
|
Definition at line 198 of file list.tcc. References std::list< _Tp, _Alloc >::begin() , std::list< _Tp, _Alloc >::end() , and std::list< _Tp, _Alloc >::erase() . |