Funzione swap

Scambia gli elementi di due oggetti concurrent_vector.

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

Parametri

  • _Ty
    Tipo di dati degli elementi da archiviare nel vettore simultaneo.

  • _Ax
    Tipo di allocatore dei vettori simultanei.

  • _A
    Vettore simultaneo i cui elementi sono da scambiare con quelli del vettore simultaneo _B.

  • _B
    Vettore simultaneo che fornisce gli elementi da scambiare o vettore i cui elementi sono da scambiare con quelli _A del vettore simultaneo.

Note

La funzione modello è un algoritmo specializzato sulla classe contenitore concurrent_vector per eseguire la funzione membro _A.concurrent_vector::swap(_B).Sono istanze dell'ordinamento parziale di modelli di funzione da parte del compilatore.Quando le funzioni del modello sono sottoposte a overload in modo tale che la corrispondenza del modello con la chiamata di funzione non è univoca; pertanto il compilatore selezionerà la versione più specializzata della funzione modello.La versione generale della funzione modello, **template <class T> void swap(T&, T&)**nella classe dell'algoritmo funziona tramite assegnazione ed è un'operazione lenta.La versione specializzata di ciascun contenitore è molto più veloce poiché è in grado funzionare con la rappresentazione interna della classe contenitore.

Tale metodo non è sicuro per concorrenza.Quando si chiama il metodo, è necessario assicurarsi che nessuno degli altri thread stia eseguendo operazioni su uno dei vettori simultanei.

Requisiti

Header: concurrent_vector.h

Concorrenza diSpazio dei nomi:

Vedere anche

Riferimenti

Spazio dei nomi concurrency

Classe concurrent_vector

Concetti

Contenitori e oggetti paralleli