std::back_insert_iterator - cppreference.com (original) (raw)
std::back_insert_iterator
| Defined in header | | | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ------------- | | template< class Container > class back_insert_iterator : public std::iterator<std::output_iterator_tag, void, void, void, void> | | (until C++17) | | template< class Container > class back_insert_iterator; | | (since C++17) |
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.
[edit] Member types
Member type | Definition |
---|---|
iterator_category | std::output_iterator_tag |
value_type | void |
difference_type | |
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 std::iterator<std::output_iterator_tag, void, void, void, void>. | (until C++17) |
---|
[edit] Member functions
[edit] Member objects
Member name | Definition |
---|---|
container (protected) | a pointer of type Container* |
[edit] Example
#include #include #include #include int main() { std::vector v; std::generate_n( std::back_insert_iterator<std::vector>(v), // Or use std::back_inserter helper // Or use std::back_insert_iterator(v) C++17's syntax 10, n = 0 mutable { return ++n; } ); for (int n : v) std::cout << n << ' '; std::cout << '\n'; }
Output: