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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::make_reverse_iterator - std::make_reverse_iterator

Synopsis
	  Defined in header <iterator>
	  template<  class Iter	>					(since
       C++14)
	  std::reverse_iterator<Iter> make_reverse_iterator( Iter i    (const-
       expr since C++17)
	  );

	  make_reverse_iterator	is a convenience function template  that  con-
       structs a
	  std::reverse_iterator	for the	given iterator i (which	must be	a
	  LegacyBidirectionalIterator)	with the type deduced from the type of
       the argument.

Parameters
	  i - iterator to be converted to reverse iterator

Return value
	  A std::reverse_iterator constructed from i.

Notes
		Feature-test macro	   Value    Std		   Feature
	  __cpp_lib_make_reverse_iterator   201402L   (C++14)	 std::make_re-
       verse_iterator

Possible implementation
	  template<class Iter>
	  constexpr std::reverse_iterator<Iter>	make_reverse_iterator(Iter i)
	  {
	      return std::reverse_iterator<Iter>(i);
	  }

Example
       // Run this code

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

	int main()
	{
	    std::vector<int> v{1, 3, 10, 8, 22};

	    std::sort(v.begin(), v.end());
	    std::copy(v.begin(),	  v.end(),	   std::ostream_itera-
       tor<int>(std::cout, ", "));
	    std::cout << '\n';

	    std::copy(std::make_reverse_iterator(v.end()),
		      std::make_reverse_iterator(v.begin()),
		      std::ostream_iterator<int>(std::cout, ", "));
	    std::cout << '\n';
	}

Output:
	1, 3, 8, 10, 22,
	22, 10,	8, 3, 1,

See also
	  reverse_iterator iterator adaptor for	reverse-order traversal
			   (class template)
	  rbegin	   returns a reverse iterator to the  beginning	 of  a
       container or array
	  crbegin	   (function template)
	  (C++14)
	  rend		    returns  a reverse end iterator for	a container or
       array
	  crend		   (function template)
	  (C++14)

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

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

home | help