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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::inserter - std::inserter

Synopsis
	  Defined in header <iterator>
	  template< class Container >
	  std::insert_iterator<Container>  inserter(  Container&  c,  typename
       (until C++20)
	  Container::iterator i	);
	  template< class Container >
	  constexpr std::insert_iterator<Container>  inserter(	Container&  c,
       (since C++20)
	  ranges::iterator_t<Container>	i );

	  inserter  is	a  convenience	function  template  that  constructs a
       std::insert_iterator
	  for the container c and its iterator i with the  type	 deduced  from
       the type	of the
	  argument.

Parameters
	  c - container	that supports an insert	operation
	  i - iterator in c indicating the insertion position

Return value
	  A std::insert_iterator which can be used to insert elements into the
       container c at
	  the position indicated by i.

Possible implementation
	 template< class Container >
	 std::insert_iterator<Container> inserter( Container& c, typename Con-
       tainer::iterator	i )
	 {
	     return std::insert_iterator<Container>(c, i);
	 }

Example
       // Run this code

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

	int main()
	{
	    std::multiset<int> s {1, 2,	3};

	    // std::inserter is	commonly used with multi-sets
	    std::fill_n(std::inserter(s, s.end()), 5, 2);

	    for	(int n : s)
		std::cout << n << ' ';
	    std::cout << '\n';

	    std::vector<int> d {100, 200, 300};
	    std::vector<int> v {1, 2, 3, 4, 5};

	    //	when  inserting	 in  a sequence	container, insertion point ad-
       vances
	    // because each std::insert_iterator::operator= updates the	target
       iterator
	    std::copy(d.begin(),  d.end(),  std::inserter(v,   std::next(v.be-
       gin())));

	    for	(int n : v)
		std::cout << n << ' ';
	    std::cout << '\n';
	}

Output:
	1 2 2 2	2 2 2 3
	1 100 200 300 2	3 4 5

See also
	  insert_iterator iterator adaptor for insertion into a	container
			  (class template)
			  creates a std::back_insert_iterator of type inferred
       from the
	  back_inserter	  argument
			  (function template)
			  creates  a  std::front_insert_iterator  of  type in-
       ferred from the
	  front_inserter  argument
			  (function template)

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

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

home | help