std::insert_iterator::operator=(3)

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

Synopsis
   insert_iterator<Container>&
       operator=( typename (until C++11)
   Container::const_reference value );
   insert_iterator<Container>& (since C++11)
       operator=( const typename (until C++20)
   Container::value_type& value );
   constexpr insert_iterator<Container>&
       operator=( const typename (1) (since C++20)
   Container::value_type& 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 <deque>
 #include <iostream>
 #include <iterator>
 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 << ' ';
     std::cout << '\n';
 }

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