iter_swap(std::move_iterator)
De cppreference.com
< cpp | iterator | move iterator
template<std::indirectly_swappable<Iter> Iter2 > friendconstexprvoid iter_swap(const move_iterator& x, | (desde C++20) | |
Intercambia los objetos a los que apuntan los dos iteradores subyacentes.
Equivalente a ranges::iter_swap(x.base(), y.base());.
Esta plantilla de función no es visible a una búsqueda no calificada o calificada, y puede encontrarse solamente mediante la búsqueda dependiente de argumento cuando std::move_iterator<Iter>
es una clase asociada de los argumentos.
Contenido |
[editar]Parámetros
x, y | - | Iteradores movibles de los elementos a intercambiar. |
[editar]Complejidad
Constante.
[editar]Excepciones
[editar]Ejemplo
Ejecuta este código
#include <iostream>#include <iterator>#include <string>#include <vector> int main(){std::vector<std::string> p{"AA", "EE"}, q{"ⱯⱯ", "ƎƎ"}; std::move_iterator<std::vector<std::string>::iterator> x =std::make_move_iterator(p.begin()), y =std::make_move_iterator(q.begin()); std::cout<<*x <<' '<<*y <<'\n'; iter_swap(x, y);// búsqueda dependiente de argumento std::cout<<*x <<' '<<*y <<'\n';}
Salida:
AA ⱯⱯ ⱯⱯ AA
[editar]Véase también
Intercambia los valores de dos objetos (plantilla de función) | |
Intercambia dos rangos de elementos. (plantilla de función) | |
Intercambia los elementos a los que apuntan dos iteradores (plantilla de función) | |
(C++20) | Intercambia los valores referenciados por dos objetos desreferenciables. (objeto punto de personalización) |
(C++20) | Intercambia los objetos a los que apuntan dos iteradores subyacentes ajustados (plantilla de función) |