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

FreeBSD Manual Pages

  
 
  

home | help
std::front_insert_iterator(3) C++ Standard Libarystd::front_insert_iterator(3)

NAME
       std::front_insert_iterator - std::front_insert_iterator

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

	  class						 front_insert_iterator
       (until C++17)

	      :	public std::iterator<std::output_iterator_tag, void, void,
	  void,	void>
	  template<		 class		     Container		     >
       (since C++17)
	  class	front_insert_iterator;

	  std::front_insert_iterator  is  a LegacyOutputIterator that prepends
       elements	to a
	  container for	which it was constructed. The container's push_front()
       member function
	  is called whenever the iterator (whether dereferenced	or not)	is as-
       signed to.
	  Incrementing the std::front_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 front_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)	a pointer of type Container*

Example
       // Run this code

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

	namespace stb
	{
	    void println(auto, auto const& d)
	    {
		std::ranges::copy(d,  std::ostream_iterator<int>(std::cout,  "
       "));
		std::cout << '\n';
	    }
	}

	int main()
	{
	    std::vector<int> v{1, 2, 3,	4, 5};
	    std::deque<int> d;

	    std::copy(v.begin(), v.end(),
		      std::front_insert_iterator<std::deque<int>>(d));
		      // or std::front_inserter(d)

	    stb::println("{}", d);
	}

Output:
	5 4 3 2	1

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

http://cppreference.com		  2024.06.10	 std::front_insert_iterator(3)

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

home | help