std::make_reverse_iterator
De cppreference.com
<tbody>
</tbody>
| Definido en el archivo de encabezado <iterator>
|
||
template< class Iter > std::reverse_iterator<Iter> make_reverse_iterator( Iter i ); |
(desde C++14) (constexpr desde C++17) |
|
make_reverse_iterator es una plantilla de función de conveniencia que construye un std::reverse_iterator para el iterador dado i (que debe ser un BidirectionalIterator) con el tipo deducido del tipo del argumento.
Parámetros
| i | - | El iterador que se convertirá en iterador inverso. |
Valor de retorno
Un std::reverse_iterator construido a partir de i.
Notas
| Macro de Prueba de característica | Valor | Estándar | Comentario |
|---|---|---|---|
__cpp_lib_make_reverse_iterator |
201402L |
(C++14) | std::make_reverse_iterator
|
Posible implementación
template<class Iter>
constexpr std::reverse_iterator<Iter> make_reverse_iterator(Iter i)
{
return std::reverse_iterator<Iter>(i);
}
|
Ejemplo
Ejecuta este código
#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_iterator<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';
}
Salida:
1, 3, 8, 10, 22,
22, 10, 8, 3, 1,
Véase también
| Adaptador de iterador para recorrido en orden inverso. (plantilla de clase) | |
(C++14) |
Devuelve un iterador inverso al contenedor o array (plantilla de función) |
(C++14) |
Devuelve un iterador inverso al final para un contenedor o array (plantilla de función) |