std::list

From Cppreference

Jump to: navigation, search
Defined in header <list>

template<

    class T,
    class Allocator = std::allocator<T>

> class list;

List is a container which supports fast insertion and removal of elements from anywhere from the container. Fast random access is not supported. It is implemented as double-linked list. Compared to forward lists this container provides bidirectional iteration capability while being less space efficient.

Contents

[edit] Member types

Member type Definition
value_type T
allocator_type Allocator
size_type Unsigned integral type (usually size_t)
difference_type Signed integer type (usually ptrdiff_t)
reference Allocator::reference (pre-C++11 version)
value_type& (C++11 version)
const_reference Allocator::const_reference (pre-C++11 version)
const value_type& (C++11 version)
pointer T* (pre-C++11 version)
std::allocator_traits<Allocator>::pointer (C++11 version)
const_pointer const T* (pre-C++11 version)
std::allocator_traits<Allocator>::const_pointer (C++11 version)
iterator Bidirectional iterator
const_iterator Constant bidirectional iterator
reverse_iterator std::reverse_iterator<iterator>
const_reverse_iterator std::reverse_iterator<const_iterator>

[edit] Member functions

(constructor)
constructs the list
(public member function)
(destructor)
destructs the list
(public member function)
operator=
assigns values to the container
(public member function)
assign
assigns values to the container
(public member function)
get_allocator
returns the associated allocator
(public member function)
Element access
front
access the first element
(public member function)
back
access the last element
(public member function)
Iterators
begin
cbegin

returns an iterator to the beginning
(public member function)
end
cend

returns an iterator to the end
(public member function)
rbegin
crbegin

returns a reverse iterator to the beginning
(public member function)
rend
crend

returns a reverse iterator to the end
(public member function)
Capacity
empty
checks whether the container is empty
(public member function)
size
returns the number of elements
(public member function)
max_size
returns the maximum possible number of elements
(public member function)
Modifiers
clear
clears the contents
(public member function)
insert
inserts elements
(public member function)
emplace (C++11)
constructs element in-place
(public member function)
erase
erases elements
(public member function)
push_back
inserts elements to the end
(public member function)
emplace_back (C++11)
constructs elements in-place at the end
(public member function)
pop_back
removes the last element
(public member function)
push_front
inserts elements to the beginning
(public member function)
emplace_front (C++11)
constructs elements in-place at the beginning
(public member function)
pop_front
removes the first element
(public member function)
resize
changes the number of elements stored
(public member function)
swap
swaps the contents
(public member function)
Operations
merge
merges two sorted lists
(public member function)
splice
moves elements from another list
(public member function)
remove
remove_if
removes elements satisfying specific criteria
(public member function)
reverse
reverses the order of the elements
(public member function)
unique
removes consecutive duplicate elements
(public member function)
sort
sorts the elements
(public member function)

[edit] Non-member functions

operator==
operator!=
operator<
operator<=
operator>
operator>=
lexicographically compares the values in the container
(function)
std::swap(std::list)
specializes the std::swap() algorithm
(function template)