insert_iterator::operator=

Inserts a value into the container and returns the iterator updated to point to the new element.

insert_iterator<Container>& operator=(
   typename Container::const_reference _Val,
);
insert_iterator<Container>& operator=(
   typename Container::value_type&& _Val
); 

Parameters

  • _Val
    The value to be assigned to the container.

Return Value

A reference to the element inserted into the container.

Remarks

The first member operator evaluates

Iter = container->insert(Iter, _Val);

++Iter;

then returns *this.

The second member operator evaluates

Iter = container->insert(Iter, std::move(_Val));

++Iter;

then returns *this.

Example

// insert_iterator_op_assign.cpp
// compile with: /EHsc
#include <iterator>
#include <list>
#include <iostream>

int main( )
{
   using namespace std;
   int i;
   list <int>::iterator L_Iter;

   list<int> L;
   for (i = 0 ; i < 4 ; ++i ) 
   {
      L.push_back ( 2 * i );
   }

   cout << "The original list L is:\n ( ";
   for ( L_Iter = L.begin( ) ; L_Iter != L.end( ); L_Iter++ )
      cout << *L_Iter << " ";
   cout << ")." << endl;

   insert_iterator< list < int> > Iter(L, L.begin ( ) );
   *Iter = 10;
   *Iter = 20;
   *Iter = 30;

   cout << "After the insertions, the list L is:\n ( ";
   for ( L_Iter = L.begin( ) ; L_Iter != L.end( ); L_Iter++ )
      cout << *L_Iter << " ";
   cout << ")." << endl;
}
The original list L is:
 ( 0 2 4 6 ).
After the insertions, the list L is:
 ( 10 20 30 0 2 4 6 ).

Requirements

Header: <iterator>

Namespace: std

See Also

Reference

insert_iterator Class

Standard Template Library