std::forward_list
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header <forward_list>
  | ||
| template<     class T, | (since C++11) | |
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 std::list this container provides more space efficient storage, when bidirectional iteration is not needed.
std::forward_list meets the requirements of Container (except for the size() member function), AllocatorAwareContainer and SequenceContainer.
| 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 | ForwardIterator | 
| const_iterator | Constant forward iterator | 
[edit] Member functions
| constructs the forward_list (public member function) | |
| destructs the forward_list (public member function) | |
| assigns values to the container (public member function) | |
| assigns values to the container (public member function) | |
| returns the associated allocator (public member function) | |
| Element access | |
| access the first element (public member function) | |
| Iterators | |
| returns an iterator to the element before beginning (public member function) | |
| returns an iterator to the beginning (public member function) | |
| returns an iterator to the end (public member function) | |
| Capacity | |
| checks whether the container is empty (public member function) | |
| returns the maximum possible number of elements (public member function) | |
| Modifiers | |
| clears the contents (public member function) | |
| inserts elements after an element (public member function) | |
| constructs elements in-place after an element (public member function) | |
| erases an element after an element (public member function) | |
| inserts elements to the beginning (public member function) | |
| constructs elements in-place at the beginning (public member function) | |
| removes the first element (public member function) | |
| changes the number of elements stored (public member function) | |
| swaps the contents (public member function) | |
| Operations | |
| merges two sorted lists (public member function) | |
| moves elements from another forward_list (public member function) | |
| removes elements satisfying specific criteria (public member function) | |
| reverses the order of the elements (public member function) | |
| removes consecutive duplicate elements (public member function) | |
| sorts the elements (public member function) | |
[edit] Non-member functions
| lexicographically compares the values in the forward_list (function template) | |
| specializes the std::swap algorithm (function template) | |

