Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::insert_iterator(3)	      C++ Standard Libary      std::insert_iterator(3)

NAME
       std::insert_iterator - std::insert_iterator

Synopsis
	  Defined in header <iterator>
	  template< class Container >

	  class	      insert_iterator	    :	    public	std::iterator<
       (until C++17)
	  std::output_iterator_tag,

	  void,void,void,void >
	  template<		 class		     Container		     >
       (since C++17)
	  class	insert_iterator;

	  std::insert_iterator is a LegacyOutputIterator that inserts elements
       into a
	  container  for  which	it was constructed, at the position pointed to
       by the supplied
	  iterator. The	container's insert() member function is	 called	 when-
       ever the	iterator
	  (whether  dereferenced  or  not)  is	assigned  to. Incrementing the
       std::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 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 member object) a	pointer	of type	Container*
					      an iterator of type
					      Container::iterator
	  iter (protected member object)      \fPfI(until C++20)
					      ranges::iterator_t<Container>
					      (since C++20)

Example
       // Run this code

	#include <vector>
	#include <list>
	#include <iostream>
	#include <iterator>
	#include <algorithm>

	int main()
	{
	    std::vector<int> v{1,2,3,4,5};
	    std::list<int> l{-1,-2,-3};
	    std::copy(v.begin(),  v.end(),  // may be simplified with std::in-
       serter
		      std::insert_iterator<std::list<int>>(l,  std::next(l.be-
       gin())));
	    for	(int n : l)
		std::cout << n << ' ';
	    std::cout << '\n';
	}

Output:
	-1 1 2 3 4 5 -2	-3

See also
				creates	 a  std::insert_iterator  of  type in-
       ferred from the
	  inserter		argument
				(function template)
	  back_insert_iterator	iterator adaptor for insertion at the end of a
       container
				(class template)
	  front_insert_iterator	iterator adaptor for insertion at the front of
       a container
				(class template)

http://cppreference.com		  2022.07.31	       std::insert_iterator(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::insert_iterator&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help