table of contents
std::insert_iterator(3) | C++ Standard Libary | std::insert_iterator(3) |
NAME¶
std::insert_iterator - std::insert_iterator
Synopsis¶
Defined in header <iterator>
template< class Container >
class insert_iterator : public (until C++17)
std::iterator<std::output_iterator_tag,
void, void, void, void>
template< class Container > (since C++17)
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.
Member types¶
Member type Definition
iterator_category std::output_iterator_tag
value_type void
difference_type void (until C++20)
std::ptrdiff_t (since C++20)
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 (until
C++17)
std::iterator<std::output_iterator_tag, void, void, void, void>.
Member functions¶
constructor constructs a new insert_iterator
(public member function)
operator= inserts an object into the associated container
(public member function)
operator* no-op
(public member function)
operator++ no-op
operator++(int) (public member function)
Member objects¶
Member name Definition
container (protected member object) a pointer of type Container*
an iterator of type
Container::iterator
iter (protected member object) \fPfI(until C++20)
ranges::iterator_t<Container>
(since C++20)
Example¶
// Run this code
#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
See also¶
creates a std::insert_iterator of type inferred from the
inserter argument
(function template)
back_insert_iterator iterator adaptor for insertion at the end of a container
(class template)
front_insert_iterator iterator adaptor for insertion at the front of a
container
(class template)
2024.06.10 | http://cppreference.com |