(C++17) | ||||
Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
Associative | ||||
Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
Views | ||||
(C++20) | ||||
(C++23) | ||||
Tables | ||||
Iterator invalidation | ||||
Member function table | ||||
Non-member function table |
Member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Non-member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Deduction guides(C++17) |
iterator insert_after( const_iterator pos,const T& value); | (1) | (since C++11) (constexpr since C++26) |
iterator insert_after( const_iterator pos, T&& value); | (2) | (since C++11) (constexpr since C++26) |
iterator insert_after( const_iterator pos, size_type count,const T& value); | (3) | (since C++11) (constexpr since C++26) |
template<class InputIt> iterator insert_after( const_iterator pos, | (4) | (since C++11) (constexpr since C++26) |
iterator insert_after( const_iterator pos, std::initializer_list<T> ilist); | (5) | (since C++11) (constexpr since C++26) |
Inserts elements after the specified position in the container. Ifpos isbefore_begin(), the first element inserted (if exists) will become the first element of*this.
Ifpos is not in the range[
before_begin(),
end())
, the behavior is undefined.
[
first,
last)
afterpos.InputIt
satisfies the requirements ofLegacyInputIterator.T
is notEmplaceConstructible intoforward_list
from*first.No iterators or references are invalidated.
Contents |
pos | - | iterator after which the content will be inserted |
value | - | element value to insert |
count | - | number of copies to insert |
first, last | - | the pair of iterators defining the sourcerange of elements to insert |
ilist | - | initializer list to insert the values from |
If an exception is thrown for any reason, these functions have no effect (strong exception safety guarantee).
#include <forward_list>#include <iostream>#include <string>#include <vector> void print(conststd::forward_list<int>& list){std::cout<<"list: {";for(char comma[3]={'\0',' ','\0'};int i: list){std::cout<< comma<< i; comma[0]=',';}std::cout<<"}\n";} int main(){std::forward_list<int> ints{1,2,3,4,5}; print(ints); // insert_after (2)auto beginIt= ints.begin(); ints.insert_after(beginIt,-6); print(ints); // insert_after (3)auto anotherIt= beginIt;++anotherIt; anotherIt= ints.insert_after(anotherIt,2,-7); print(ints); // insert_after (4)conststd::vector<int> v={-8,-9,-10}; anotherIt= ints.insert_after(anotherIt, v.cbegin(), v.cend()); print(ints); // insert_after (5) ints.insert_after(anotherIt,{-11,-12,-13,-14}); print(ints);}
Output:
list: {1, 2, 3, 4, 5}list: {1, -6, 2, 3, 4, 5}list: {1, -6, -7, -7, 2, 3, 4, 5}list: {1, -6, -7, -7, -8, -9, -10, 2, 3, 4, 5}list: {1, -6, -7, -7, -8, -9, -10, -11, -12, -13, -14, 2, 3, 4, 5}
constructs elements in-place after an element (public member function)[edit] | |
inserts an element to the beginning (public member function)[edit] |