std::front_inserter (3) - Linux Manuals

std::front_inserter: std::front_inserter


std::front_inserter - std::front_inserter


Defined in header <iterator>
template< class Container > (until C++20)
std::front_insert_iterator<Container> front_inserter( Container& c );
template< class Container > (since C++20)
constexpr std::front_insert_iterator<Container> front_inserter( Container& c );

front_inserter is a convenience function template that constructs a std::front_insert_iterator for the container c with the type deduced from the type of the argument.


c - container that supports a push_front operation

Return value

A std::front_insert_iterator which can be used to add elements to the beginning of the container c

Possible implementation

  template< class Container >
  std::front_insert_iterator<Container> front_inserter( Container& c )
      return std::front_insert_iterator<Container>(c);


// Run this code

  #include <vector>
  #include <deque>
  #include <iostream>
  #include <iterator>
  #include <algorithm>
  int main()
      std::vector<int> v{1,2,3,4,5};
      std::deque<int> d;
      std::copy(v.begin(), v.end(), std::front_inserter(d));
      for(int n : d)
          std::cout << n << ' ';


  5 4 3 2 1

See also

                      iterator adaptor for insertion at the front of a container
front_insert_iterator (class template)
                      creates a std::back_insert_iterator of type inferred from the argument
back_inserter (function template)
                      creates a std::insert_iterator of type inferred from the argument
inserter (function template)