Difference between revisions of "cpp/iterator/front inserter"
From cppreference.com
Andreas Krug (Talk | contribs) m (... aders sorted, +newline, langlinks) |
m (→Synopsis: {{mark constexpr since c++20}}) |
||
Line 1: | Line 1: | ||
{{cpp/title|front_inserter}} | {{cpp/title|front_inserter}} | ||
{{cpp/iterator/navbar}} | {{cpp/iterator/navbar}} | ||
− | {{ | + | {{ddcl|header=iterator|notes={{mark constexpr since c++20}}| |
− | + | ||
− | {{ | + | |
template< class Container > | template< class Container > | ||
std::front_insert_iterator<Container> front_inserter( Container& c ); | std::front_insert_iterator<Container> front_inserter( Container& c ); | ||
− | |||
− | |||
− | |||
}} | }} | ||
− | |||
{{tt|front_inserter}} is a convenience function template that constructs a {{lc|std::front_insert_iterator}} for the container {{c|c}} with the type deduced from the type of the argument. | {{tt|front_inserter}} is a convenience function template that constructs a {{lc|std::front_insert_iterator}} for the container {{c|c}} with the type deduced from the type of the argument. |
Latest revision as of 14:54, 3 October 2023
Defined in header <iterator>
|
||
template< class Container > std::front_insert_iterator<Container> front_inserter( Container& c ); |
(constexpr since C++20) | |
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.
Contents |
[edit] Parameters
c | - | container that supports a push_front operation
|
[edit] Return value
A std::front_insert_iterator which can be used to add elements to the beginning of the container c.
[edit] Possible implementation
template<class Container> std::front_insert_iterator<Container> front_inserter( Container& c ) { return std::front_insert_iterator<Container>(c); } |
[edit] Example
Run this code
#include <algorithm> #include <deque> #include <iostream> #include <iterator> #include <vector> 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 << ' '; std::cout << '\n'; }
Output:
5 4 3 2 1
[edit] See also
iterator adaptor for insertion at the front of a container (class template) | |
creates a std::back_insert_iterator of type inferred from the argument (function template) | |
creates a std::insert_iterator of type inferred from the argument (function template) |