std::insert_iterator::operator=(3)

NAME
std::insert_iterator::operator= - std::insert_iterator::operator=

Synopsis
   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;

Parameters
   value - the value to insert

Return value
   *this

Notes
   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).

Example
// 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 << ' ';
 }

Output:
 0 1 2 3 4 5 6 7 8 9