Classe concurrent_vector
La classe concurrent_vector è una classe contenitore di sequenze che consente un accesso casuale a qualsiasi elemento. Abilita cassaforte di concorrenza aggiungere, accesso dell'elemento, accesso dell'iteratore e operazioni di traversali di iteratore.
template<
typename _Ty,
class _Ax
>
class concurrent_vector: protected details::_Allocator_base<_Ty, _Ax>, private details::_Concurrent_vector_base_v4;
Parametri
_Ty
Tipo di dati degli elementi da archiviare nel vettore._Ax
Tipo rappresentante l'oggetto dell'allocatore memorizzato che include i dettagli sull'allocazione e sulla deallocazione di memoria per il vettore simultaneo. Questo argomento è facoltativo e il valore predefinito è allocator<_Ty**>**.
Membri
Typedef pubblici
Nome |
Oggetto di descrizione |
---|---|
allocator_type |
Tipo che rappresenta la classe dell'allocatore per il vettore simultaneo. |
const_iterator |
Un tipo che fornisce un iteratore ad accesso casuale che può leggere un elemento const in un vettore simultaneo. |
const_pointer |
Un tipo che fornisce un puntatore a un elemento const in un vettore simultaneo. |
const_reference |
Un tipo che fornisce un riferimento all'elemento const archiviato in un vettore simultaneo per la lettura e l'esecuzione di operazioni const. |
const_reverse_iterator |
Un tipo che fornisce un iteratore ad accesso casuale che può leggere qualsiasi elemento const in un vettore simultaneo. |
difference_type |
Un tipo che fornisce la distanza con segno tra due elementi in un vettore simultaneo. |
iterator |
Un tipo che fornisce un iteratore ad accesso casuale che può leggere qualsiasi elemento in un vettore simultaneo. La modifica di un elemento utilizzando l'iteratore non è sicura per concorrenza. |
pointer |
Un tipo che fornisce un puntatore a un elemento in un vettore simultaneo. |
reference |
Un tipo che fornisce un riferimento a un elemento archiviato in un vettore simultaneo. |
reverse_iterator |
Un tipo che fornisce un iteratore ad accesso casuale che può leggere qualsiasi elemento in un vettore simultaneo inverso. La modifica di un elemento utilizzando l'iteratore non è sicura per concorrenza. |
size_type |
Un tipo che conta il numero di elementi in un vettore simultaneo. |
value_type |
Un tipo che rappresenta il tipo di dati archiviati nel vettore simultaneo. |
Costruttori pubblici
Nome |
Oggetto di descrizione |
---|---|
Metodo di overload. Costruisce un vettore simultaneo. |
|
Cancella tutti gli elementi e distrugge questo vettore simultaneo. |
Metodi pubblici
Nome |
Oggetto di descrizione |
---|---|
Metodo di overload. Annulla gli elementi del vettore simultaneo e gli assegna copie _N di _Item o valori specificati dall'intervallo dell'iteratore [_Begin, _End). Tale metodo non è sicuro per concorrenza. |
|
Metodo di overload. Consente di fornire accesso all'elemento all'indice specificato nel vettore simultaneo. Il metodo è sicuro per concorrenza per le operazioni di lettura e anche durante la crescita del vettore, finché non si ha la sicurezza che il valore _Index sia inferiore alla dimensione del vettore simultaneo. |
|
Metodo di overload. Consente di restituire un riferimento o uno const all'ultimo elemento nel vettore simultaneo. Se il vettore simultaneo è vuoto, il valore restituito non è definito. Tale metodo è sicuro per concorrenza. |
|
Metodo di overload. Consente di restituire un iteratore di tipo iterator o const_iterator all'inizio del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Consente di restituire la dimensione massima raggiungibile dal vettore simultaneo senza dovere allocare altra memoria. Tale metodo è sicuro per concorrenza. |
|
Consente di restituire un iteratore di tipo const_iterator all'inizio del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Consente di restituire un iteratore di tipo const_iterator alla fine del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Cancella tutti gli elementi nel vettore simultaneo. Tale metodo non è sicuro per concorrenza. |
|
Consente di restituire un iteratore di tipo const_reverse_iterator all'inizio del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Consente di restituire un iteratore di tipo const_reverse_iterator alla fine del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Consente di testare se il vettore simultaneo è vuoto nel momento della chiamata a tale metodo. Tale metodo è sicuro per concorrenza. |
|
Metodo di overload. Consente di restituire un iteratore di tipo iterator o const_iterator alla fine del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Metodo di overload. Consente di restituire un riferimento o uno const al primo elemento nel vettore simultaneo. Se il vettore simultaneo è vuoto, il valore restituito non è definito. Tale metodo è sicuro per concorrenza. |
|
Consente di restituire una copia dell'allocatore utilizzato per costruire il vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Metodo di overload. Aumenta questo vettore simultaneo di elementi _Delta. Tale metodo è sicuro per concorrenza. |
|
Aumenta questo vettore simultaneo fino a quando non dispone almeno degli elementi _N. Tale metodo è sicuro per concorrenza. |
|
Consente di restituire il numero massimo di elementi che il vettore simultaneo può contenere. Tale metodo è sicuro per concorrenza. |
|
Aggiunge l'elemento specificato alla fine del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Metodo di overload. Consente di restituire un iteratore di tipo reverse_iterator o const_reverse_iterator all'inizio del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Metodo di overload. Consente di restituire un iteratore di tipo reverse_iterator o const_reverse_iterator alla fine del vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Assegna spazio sufficiente per alimentare il vettore simultaneo fino alle dimensioni _N senza dovere allocare più memoria in un secondo tempo. Tale metodo non è sicuro per concorrenza. |
|
Metodo di overload. Modifica la dimensione del vettore simultaneo sulla dimensione richiesta, eliminando o aggiungendo elementi come necessario. Tale metodo non è sicuro per concorrenza. |
|
Comprime la rappresentazione interna del vettore simultaneo per ridurre la frammentazione e ottimizzare l'utilizzo della memoria. |
|
Consente di restituire il numero di elementi nel vettore simultaneo. Tale metodo è sicuro per concorrenza. |
|
Consente di scambiare il contenuto di due vettori simultanei. Tale metodo non è sicuro per concorrenza. |
Operatori pubblici
Nome |
Oggetto di descrizione |
---|---|
Metodo di overload. Consente di fornire accesso all'elemento all'indice specificato nel vettore simultaneo. Il metodo è sicuro per concorrenza per le operazioni di lettura e anche durante la crescita del vettore, finché non si ha la sicurezza che il valore _Index sia inferiore alla dimensione del vettore simultaneo. |
|
Metodo di overload. Assegna il contenuto di un altro oggetto concurrent_vector a questo. Tale metodo non è sicuro per concorrenza. |
Note
Per informazioni dettagliate sulla classe concurrent_vector, vedere Contenitori e oggetti paralleli.
Gerarchia di ereditarietà
_Allocator_base
_Concurrent_vector_base_v4
Requisiti
Header: concurrent_vector.h
Spazio dei nomi: Concurrency