forward_list Class
Describes an object that controls a varying-length sequence of elements. The sequence is stored as a singly-linked list of nodes, each containing a member of type Type.
template<
class Type,
class Allocator = allocator<Type>
>
class forward_list
Parameters
Parameter |
Description |
---|---|
Type |
The element data type to be stored in the forward_list. |
Allocator |
The stored allocator object that encapsulates details about the forward_list allocation and deallocation of memory. This parameter is optional. The default value is allocator<Type>. |
Remarks
A forward_list object allocates and frees storage for the sequence it controls through a stored object of class Allocator that is based on allocator Class (commonly known as std::allocator). For more information, see Allocators. An allocator object must have the same external interface as an object of template class allocator.
Note
The stored allocator object is not copied when the container object is assigned.
Iterators, pointers and references might become invalid when elements of their controlled sequence are erased through forward_list. Insertions and splices performed on the controlled sequence through forward_list do not invalidate iterators.
Additions to the controlled sequence might occur by calls to forward_list::insert_after, which is the only member function that calls the constructor Type(const _Type&). forward_list might also call move constructors. If such an expression throws an exception, the container object inserts no new elements and rethrows the exception. Thus, an object of template class forward_list is left in a known state when such exceptions occur.
Constructors
Constructs an object of type forward_list. |
Typedefs
A type that represents the allocator class for a forward list object. |
|
A type that provides a constant iterator for the forward list. |
|
A type that provides a pointer to a const element in a forward list. |
|
A type that provides a constant reference to an element in the forward list. |
|
A signed integer type that can be used to represent the number of elements of a forward list in a range between elements pointed to by iterators. |
|
A type that provides an iterator for the forward list. |
|
A type that provides a pointer to an element in the forward list. |
|
A type that provides a reference to an element in the forward list. |
|
A type that represents the unsigned distance between two elements. |
|
A type that represents the type of element stored in a forward list. |
Member Functions
Erases elements from a forward list and copies a new set of elements to a target forward list. |
|
Returns an iterator addressing the position before the first element in a forward list. |
|
Returns an iterator addressing the first element in a forward list. |
|
Returns a const iterator addressing the position before the first element in a forward list. |
|
Returns a const iterator addressing the first element in a forward list. |
|
Returns a const iterator that addresses the location succeeding the last element in a forward list. |
|
Erases all the elements of a forward list. |
|
Move constructs a new element after a specified position. |
|
Adds an element constructed in place to the beginning of the list. |
|
Tests whether a forward list is empty. |
|
Returns an iterator that addresses the location succeeding the last element in a forward list. |
|
Removes elements from the forward list after a specified position. |
|
Returns a reference to the first element in a forward list. |
|
Returns a copy of the allocator object used to construct a forward list. |
|
Adds elements to the forward list after a specified position. |
|
Returns the maximum length of a forward list. |
|
Removes the elements from the argument list, inserts them into the target forward list, and orders the new, combined set of elements in ascending order or in some other specified order. |
|
Deletes the element at the beginning of a forward list. |
|
Adds an element to the beginning of a forward list. |
|
Erases elements in a forward list that matches a specified value. |
|
Erases elements from a forward list for which a specified predicate is satisfied. |
|
Specifies a new size for a forward list. |
|
Reverses the order in which the elements occur in a forward list. |
|
Arranges the elements in ascending order or with an order specified by a predicate. |
|
Restitches links between nodes. |
|
Exchanges the elements of two forward lists. |
|
Removes adjacent elements that pass a specified test. |
Operators
Replaces the elements of the forward list with a copy of another forward list. |
Requirements
Header: <forward_list>
Namespace: std