template< class Container >
class insert_iterator;
std::insert_iterator
is a LegacyOutputIterator that inserts elements into a container for which it was constructed, at the position pointed to by the supplied iterator. The container's insert()
member function is called whenever the iterator (whether dereferenced or not) is assigned to. Incrementing the std::insert_iterator
is a no-op.
iterator_category
std::output_iterator_tag value_type
void difference_type
pointer
void reference
void container_type
Container
Member types iterator_category
, value_type
, difference_type
, pointer
and reference
are required to be obtained by inheriting from std::iterator<std::output_iterator_tag, void, void, void, void>.
container
(protected member object) a pointer of type Container*
iter
(protected member object) an iterator of type Container::iterator
(until C++20) ranges::iterator_t<Container>
(since C++20) [edit] Example
#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:
[edit] See alsoRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4