Compartir vía


funciones<map>

swap (mapa)

Intercambia los elementos de dos mapas.

template <class key, class T, class _Pr, class _Alloc>
void swap(
    map<Key, Traits, Compare, Alloctor>& left,
    map<Key, Traits, Compare, Alloctor>& right);

Parámetros

right
Mapa que proporciona los elementos que se van a intercambiar o mapa cuyos elementos se van a intercambiar con los del mapa left.

left
Mapa cuyos elementos se van a intercambiar con los del mapa right.

Comentarios

La función de plantilla es un algoritmo especializado en la clase contenedora de mapa 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<clase T>void swap( T&, T&), en la clase de algoritmo funciona por 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 función miembro map::swap para obtener un ejemplo del uso de la versión de la plantilla de swap.

swap (mapa múltiple)

Intercambia los elementos de dos mapas múltiples.

template <class key, class T, class _Pr, class _Alloc>
void swap(
    multimap<Key, Traits, Compare, Alloctor>& left,
    multimap<Key, Traits, Compare, Alloctor>& right);

Parámetros

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

left
Mapa múltiple cuyos elementos se van a intercambiar con los del mapa múltiple right.

Comentarios

La función de plantilla es un algoritmo especializado de la clase contenedora de mapa para ejecutar en la clase contenedora de mapa múltiple 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<clase T>void swap( T&, T&), en la clase de algoritmo funciona por 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 función miembro multimap::swap para obtener un ejemplo del uso de la versión de la plantilla de swap.