Freigeben über


swap-Funktion

Tauscht die Elemente zweier concurrent_vector-Objekte.

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

Parameter

  • _Ty
    Der Datentyp der Elemente, die in gleichzeitigen Vektoren gespeichert werden.

  • _Ax
    Der allocator-Typ der gleichzeitigen Vektoren.

  • _A
    Der parallele Vektor, dessen Elemente mit jenen des parallelen Vektors _B vertauscht werden sollen.

  • _B
    Der parallele Vektor, der die Elemente bereitstellt, die vertauscht werden sollen, oder der Vektor, dessen Elemente mit jenen des parallelen Vektors _A vertauscht werden sollen.

Hinweise

Die Vorlagenfunktion ist ein für die concurrent_vector-Containerklasse spezialisierter Algorithmus zum Ausführen der Memberfunktion _A.concurrent_vector::swap(_B). Dies sind Instanzen der partiellen Sortierung von Funktionsvorlagen durch den Compiler. Wenn Vorlagenfunktionen auf solch eine Weise überladen werden, dass die Übereinstimmung der Vorlage mit dem Funktionsaufruf nicht eindeutig ist, dann wählt der Compiler die spezialisierteste Version der Vorlagenfunktion aus. Die allgemeine Version der Vorlagenfunktion template <class T> void swap(T&, T&) in der algorithm-Klasse funktioniert mittels Zuweisung und ist ein langsamer Vorgang. Die spezialisierte Version in jedem Container ist viel schneller, da sie die interne Darstellung der Containerklasse verwenden kann.

Diese Methode ist nicht parallelitätssicher. Sie müssen sicherstellen, dass keine anderen Threads Operationen für einen der gleichzeitigen Vektoren ausführen, wenn Sie diese Funktion aufrufen.

Anforderungen

Header: concurrent_vector.h

Namespace: Concurrency

Siehe auch

Referenz

Concurrency-Namespace

Konzepte

Parallele Container und Objekte

Weitere Ressourcen

concurrent_vector-Klasse