std::forward_list

From Cppreference

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

template<

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

> class forward_list;
(C++11 feature)

Forward 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 singly-linked list and essentially does not have any overhead compared to its implementation in C. Compared to lists this container provides more space efficient storage, when bidirectional iteration is not needed.

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 value_type&
const_reference const value_type&
pointer std::allocator_traits<Allocator>::pointer
const_pointer std::allocator_traits<Allocator>::const_pointer
iterator Forward iterator
const_iterator Constant forward iterator

[edit] Member functions

(constructor)
constructs the forward_list
(public member function)
(destructor)
destructs the forward_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)
Iterators
before_begin
cbefore_begin
returns an iterator to the element before beginning
(public member function)
begin
cbegin

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

returns an iterator to the end
(public member function)
Capacity
empty
checks whether the container is empty
(public member function)
max_size
returns the maximum possible number of elements
(public member function)
Modifiers
clear
clears the contents
(public member function)
insert_after
inserts elements after an element
(public member function)
emplace_after
constructs elements in-place after an element
(public member function)
erase_after
erases an element after an element
(public member function)
push_front
inserts elements to the beginning
(public member function)
emplace_front
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_after
moves elements from another forward_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::forward_list)
specializes the std::swap() algorithm
(function template)