Partager via


swap, fonction

Échange les éléments de deux objets concurrent_vector.

template<
   typename _Ty,
   class _Ax
>
inline void swap(
   concurrent_vector<_Ty,
   _Ax> &_A,
   concurrent_vector<_Ty,
   _Ax> &_B
);

Paramètres

  • _Ty
    Type de données des éléments stockés dans les vecteurs simultanés.

  • _Ax
    Type d'allocateur des vecteurs simultanés.

  • _A
    Vecteur simultané dont les éléments doivent être échangés avec ceux du vecteur simultané _B.

  • _B
    Le vecteur simultané qui fournit les éléments à échanger, ou le vecteur dont les éléments doivent être échangés avec ceux du vecteur simultané _A.

Notes

La fonction de modèle est un algorithme spécialisé sur la classe de conteneur concurrent_vector pour exécuter la fonction membre _A..concurrent_vector:: swap(_B). Ce sont les instances du classement partiel des modèles de fonctions par le compilateur. Lorsque les fonctions de modèle sont surchargées de telle sorte que la correspondance du modèle avec l'appel de fonction n'est pas unique, le compilateur sélectionnera la version la plus spécialisée de la fonction de modèle. La version générale de la fonction avec modèle, template <class T> void swap(T&, T&), dans la classe d'algorithme fonctionne par assignation et est une opération lente. La version spécialisée dans chaque conteneur est beaucoup plus rapide car elle peut utiliser la représentation interne de la classe de conteneur.

Cette méthode n'est pas sécurisée du point de vue de l'accès concurrentiel. Vous devez vous assurer qu'aucun autre thread n'exécute des opérations sur l'un ou l'autre des vecteurs simultanés lorsque vous appelez cette méthode.

Configuration requise

En-tête : concurrent_vector.h

Espace de noms d'accès : Concurrency

Voir aussi

Référence

Concurrency, espace de noms

Concepts

Conteneurs et objets parallèles

Autres ressources

Classe concurrent_vector