# std::front_inserter

From cppreference.com
< cpp‎ | iterator

Defined in header `<iterator>` |  |
template< class Container > 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.

### Parameters

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);
    }

### Example

Run this code

    #include <iostream>
    #include <deque>
    #include <algorithm>
    #include <iterator>

    int main()
    {
        std::deque<int> v{1,2,3,4,5,6,7,8,9,10};
        std::fill_n(std::front_inserter(v), 3, -1);
        for (int n : v)
            std::cout << n << ' ';
    }

Output:

    -1 -1 -1 1 2 3 4 5 6 7 8 9 10

### See also

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

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/iterator/front_inserter&oldid=66366"