Compartir vía


funciones<set>

swap (set)

Intercambia los elementos de dos conjuntos.

template <class Key, class Traits, class Allocator>
void swap(set<Key, Traits, Allocator>& left, set<Key, Traits, Allocator>& right);

Parámetros

right
El conjunto que proporciona los elementos que se van a intercambiar o el conjunto cuyos elementos se van a intercambiar con los del conjunto left.

left
El conjunto cuyos elementos se van a intercambiar con los del conjunto right.

Comentarios

La función de plantilla es un algoritmo especializado en la clase contenedora establecida para ejecutar la función miembro left.swap(right). Se trata de una instancia de la ordenación parcial de plantillas de función por el compilador. Cuando las funciones de plantilla se sobrecargan de manera que la coincidencia de la plantilla con la llamada de la función no es única, el compilador selecciona la versión más especializada de la función de plantilla. La versión general de la función de plantilla

template<classT>void swap( T&, T&)

de la clase de algoritmo funciona mediante asignación y es una operación lenta. La versión especializada de cada contenedor es mucho más rápida, dado que puede funcionar con la representación interna de la clase contenedora.

Ejemplo

Vea el ejemplo de código para la clase miembro set::swap para obtener un ejemplo del uso de la versión de plantilla de swap.

swap (conjunto mútiple)

Intercambia los elementos de dos conjuntos múltiples.

template <class Key, class Traits, class Allocator>
void swap(multiset<Key, Traits, Allocator>& left, multiset<Key, Traits, Allocator>& right);

Parámetros

right
El conjunto múltiple que proporciona los elementos que se van a intercambiar o el conjunto múltiple cuyos elementos se van a intercambiar con los del conjunto múltiple left.

left
El conjunto múltiple cuyos elementos se van a intercambiar con los del conjunto múltiple right.

Comentarios

La función de plantilla es un algoritmo especializado en el conjunto múltiple de la clase contenedora para ejecutar la función miembro left.swap(right). Se trata de una instancia de la ordenación parcial de plantillas de función por el compilador. Cuando las funciones de plantilla se sobrecargan de manera que la coincidencia de la plantilla con la llamada de la función no es única, el compilador selecciona la versión más especializada de la función de plantilla. La versión general de la función de plantilla

template<classT>void swap( T&, T&)

de la clase de algoritmo funciona mediante asignación y es una operación lenta. La versión especializada de cada contenedor es mucho más rápida, dado que puede funcionar con la representación interna de la clase contenedora.

Ejemplo

Vea el ejemplo de código para la clase miembro multiset::swap para obtener un ejemplo del uso de la versión de plantilla de swap.