public member function
template <class... Args>
void emplace_front (Args&&... args);
Construct and insert element at beginning
Inserts a new element at the beginning of the forward_list, right before its current first element. This new element is constructed in place using args as the arguments for its construction.
This effectively increases the container size by one.
A similar member function exists, push_front, which either copies or moves an existing object into the container.
- Arguments forwarded to construct the new element.
The storage for the new element is allocated using allocator_traits<allocator_type>::construct(), which may throw exceptions on failure (for the default allocator, bad_alloc is thrown if the allocation request does not succeed).
int main ()
std::forward_list< std::pair<int,char> > mylist;
std::cout << "mylist contains:";
for (auto& x: mylist)
std::cout << " (" << x.first << "," << x.second << ")";
std::cout << std::endl;
mylist contains: (30,c) (20,b) (10,a)
Member begin returns a different iterator value.
The container is modified.
No contained elements are accessed: concurrently accessing or modifying them is safe.
Strong guarantee: if an exception is thrown, there are no changes in the container.
If allocator_traits::construct is not supported with the appropriate arguments, it causes undefined behavior.