table of contents
        
      
      
    | std::back_insert_iterator(3) | C++ Standard Libary | std::back_insert_iterator(3) | 
NAME¶
std::back_insert_iterator - std::back_insert_iterator
Synopsis¶
 Defined in header <iterator>
  
   template< class Container >
  
   class back_insert_iterator : public std::iterator< (until C++17)
  
   std::output_iterator_tag,
  
   void, void, void, void >
  
   template< class Container > (since C++17)
  
   class back_insert_iterator;
  
   std::back_insert_iterator is a LegacyOutputIterator that appends elements to
    a
  
   container for which it was constructed. The container's push_back() member
    function
  
   is called whenever the iterator (whether dereferenced or not) is assigned to.
  
   Incrementing the std::back_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 back_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) a pointer of type Container*
Example¶
// Run this code
  
   #include <iostream>
  
   #include <iterator>
  
   #include <algorithm>
  
   #include <vector>
  
   int main()
  
   {
  
   std::vector<int> v;
  
   std::generate_n(
  
   std::back_insert_iterator<std::vector<int>>(v), // C++17:
    std::back_insert_iterator(v)
  
   10, [n=0]() mutable { return ++n; } // or use std::back_inserter helper
  
   );
  
   for (int n : v)
  
   std::cout << n << ' ';
  
   std::cout << '\n';
  
   }
Output:¶
1 2 3 4 5 6 7 8 9 10
See also¶
 creates a std::back_insert_iterator of type inferred from the
  
   back_inserter argument
  
   (function template)
  
   front_insert_iterator iterator adaptor for insertion at the front of a
    container
  
   (class template)
  
   insert_iterator iterator adaptor for insertion into a container
  
   (class template)
| 2022.07.31 | http://cppreference.com |