std::insert_iterator
From cppreference.com
Defined in header <iterator>
|
||
template< class Container > class insert_iterator : public std::iterator< std::output_iterator_tag, |
||
std::insert_iterator is an output iterator that inserts elements into a container for which it was constructed, at the position pointed to by the supplied iterator, using the container's insert() member function whenever the iterator (whether dereferenced or not) is assigned to. Incrementing the std::insert_iterator is a no-op.
Contents |
[edit] Member types
Member type | Definition |
container_type | Container |
[edit] Member objects
Member name | Definition |
container (protected) | a pointer of type Container* |
iter (protected) | an iterator of type Container::iterator |
[edit] Member functions
constructs a new back_insert_iterator (public member function) | |
inserts an object into the associated container (public member function) | |
no-op (public member function) | |
no-op (public member function) |
Inherited from std::iterator
Member types
Member type | Definition |
value_type | void |
difference_type | void |
pointer | void |
reference | void |
iterator_category | std::output_iterator_tag |
[edit] Example
#include <vector> #include <list> #include <iostream> #include <iterator> #include <algorithm> 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
[edit] See also
creates a std::insert_iterator of type inferred from the argument (function template) | |
iterator adaptor for insertion at the end of a container (class template) | |
iterator adaptor for insertion at the front of a container (class template) |