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   );
       (until C++17)
	  template <class Iter>
	  constexpr  std::reverse_iterator<Iter> make_reverse_iterator(	Iter i
       (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: __cpp_lib_make_reverse_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 <iostream>
	#include <iterator>
	#include <vector>
	#include <algorithm>

	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, ", "));
	}

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		  2022.07.31	 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.0>

home | help