Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Defined in header <iterator> | ||
template<class Container> class insert_iterator:publicstd::iterator<std::output_iterator_tag, | (until C++17) | |
template<class Container> class insert_iterator; | (since C++17) | |
std::insert_iterator
is aLegacyOutputIterator that inserts elements into a container for which it was constructed, at the position pointed to by the supplied iterator. The container'sinsert()
member function is called whenever the iterator (whether dereferenced or not) is assigned to. Incrementing thestd::insert_iterator
is a no-op.
Contents |
Member type | Definition | ||||
iterator_category | std::output_iterator_tag | ||||
value_type | void | ||||
difference_type |
| ||||
pointer | void | ||||
reference | void | ||||
container_type | Container |
Member types | (until C++17) |
constructs a newinsert_iterator (public member function)[edit] | |
inserts an object into the associated container (public member function)[edit] | |
no-op (public member function)[edit] | |
no-op (public member function)[edit] |
Member name | Definition |
container (protected member object) | a pointer of typeContainer* |
iter (protected member object) | an iterator of typeContainer::iterator (until C++20)ranges::iterator_t<Container> (since C++20) |
#include <algorithm>#include <iostream>#include <iterator>#include <list>#include <vector> int main(){std::vector<int> v{1,2,3,4,5};std::list<int> l{-1,-2,-3};std::copy(v.begin(), v.end(),// may be simplified with std::inserter std::insert_iterator<std::list<int>>(l,std::next(l.begin())));for(int n: l)std::cout<< n<<' ';std::cout<<'\n';}
Output:
-1 1 2 3 4 5 -2 -3
creates astd::insert_iterator of type inferred from the argument (function template)[edit] | |
iterator adaptor for insertion at the end of a container (class template)[edit] | |
iterator adaptor for insertion at the front of a container (class template)[edit] |