std::insert_iterator::operator= -
std::insert_iterator::operator=
insert_iterator<Container>&
operator=( typename Container::const_reference (until C++11)
value );
insert_iterator<Container>& (since C++11)
operator=( const typename Container::value_type& (until C++20)
value );
constexpr insert_iterator<Container>&
operator=( const typename Container::value_type& (1) (since
C++20)
value );
insert_iterator<Container>& (since C++11)
operator=( typename Container::value_type&& (until C++20)
value ); (2)
constexpr insert_iterator<Container>&
operator=( typename Container::value_type&& (since C++20)
value );
Inserts the given value value to the container.
1) Results in iter = container->insert(iter, value); ++iter;
2) Results in iter = container->insert(iter, std::move(value));
++iter;
value - the value to insert
This function exploits the signature compatibility between hinted
insert for
associative containers (such as std::set::insert) and positional insert for
sequential containers (such as std::vector::insert).
// Run this code
#include <iostream>
#include <iterator>
#include <deque>
int main()
{
std::deque<int> q;
std::insert_iterator< std::deque<int> > it(q, q.begin());
for (int i=0; i<10; ++i)
it = i; // inserts i
for (auto& elem : q) std::cout << elem << ' ';
}