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

Costruttore concurrent_vector::concurrent_vector

Metodo di overload. Costruisce un vettore simultaneo.

Distruttore concurrent_vector::~concurrent_vector

Cancella tutti gli elementi e distrugge questo vettore simultaneo.

Metodi pubblici

Nome

Oggetto di descrizione

Metodo concurrent_vector::assign

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 concurrent_vector::at

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 concurrent_vector::back

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 concurrent_vector::begin

Metodo di overload. Consente di restituire un iteratore di tipo iterator o const_iterator all'inizio del vettore simultaneo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::capacity

Consente di restituire la dimensione massima raggiungibile dal vettore simultaneo senza dovere allocare altra memoria. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::cbegin

Consente di restituire un iteratore di tipo const_iterator all'inizio del vettore simultaneo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::cend

Consente di restituire un iteratore di tipo const_iterator alla fine del vettore simultaneo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::clear

Cancella tutti gli elementi nel vettore simultaneo. Tale metodo non è sicuro per concorrenza.

Metodo concurrent_vector::crbegin

Consente di restituire un iteratore di tipo const_reverse_iterator all'inizio del vettore simultaneo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::crend

Consente di restituire un iteratore di tipo const_reverse_iterator alla fine del vettore simultaneo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::empty

Consente di testare se il vettore simultaneo è vuoto nel momento della chiamata a tale metodo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::end

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 concurrent_vector::front

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.

Metodo concurrent_vector::get_allocator

Consente di restituire una copia dell'allocatore utilizzato per costruire il vettore simultaneo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::grow_by

Metodo di overload. Aumenta questo vettore simultaneo di elementi _Delta. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::grow_to_at_least

Aumenta questo vettore simultaneo fino a quando non dispone almeno degli elementi _N. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::max_size

Consente di restituire il numero massimo di elementi che il vettore simultaneo può contenere. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::push_back

Aggiunge l'elemento specificato alla fine del vettore simultaneo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::rbegin

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 concurrent_vector::rend

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.

Metodo concurrent_vector::reserve

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 concurrent_vector::resize

Metodo di overload. Modifica la dimensione del vettore simultaneo sulla dimensione richiesta, eliminando o aggiungendo elementi come necessario. Tale metodo non è sicuro per concorrenza.

Metodo concurrent_vector::shrink_to_fit

Comprime la rappresentazione interna del vettore simultaneo per ridurre la frammentazione e ottimizzare l'utilizzo della memoria.

Metodo concurrent_vector::size

Consente di restituire il numero di elementi nel vettore simultaneo. Tale metodo è sicuro per concorrenza.

Metodo concurrent_vector::swap

Consente di scambiare il contenuto di due vettori simultanei. Tale metodo non è sicuro per concorrenza.

Operatori pubblici

Nome

Oggetto di descrizione

Operatore concurrent_vector::operator[]

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.

Operatore concurrent_vector::operator=

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

concurrent_vector

Requisiti

Header: concurrent_vector.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency

Concetti

Contenitori e oggetti paralleli