concurrent_vector-Klasse
Die concurrent_vector-Klasse ist eine Sequenzcontainerklasse, die wahlfreien Zugriff auf beliebige Elemente zulässt. Aktiviert parallelitätssichere Operationen für Anfügen, Elementzugriff, Iteratorzugriff und Iteratordurchlauf.
template<
typename _Ty,
class _Ax
>
class concurrent_vector: protected details::_Allocator_base<_Ty, _Ax>, private details::_Concurrent_vector_base_v4;
Parameter
_Ty
Der Datentyp der Elemente, die im Vektor gespeichert werden sollen._Ax
Der Typ, der das gespeicherte Zuordnungsobjekt darstellt, das Details zur Zuordnung und zur Freigabe des Arbeitsspeichers für den gleichzeitigen Vektor kapselt. Dieses Argument ist optional, und der Standardwert ist allocator<_Ty**>**.
Member
Öffentliche Typedefs
Name |
Beschreibungen |
---|---|
allocator_type |
Ein Typ, der die Belegungsfunktionsklasse für den gleichzeitigen Vektor darstellt. |
const_iterator |
Ein Typ, der einen Iterator mit beliebigem Zugriff bereitstellt, der ein const-Element in einem gleichzeitigen Vektor lesen kann. |
const_pointer |
Ein Typ, der einen Zeiger auf ein const-Element in einem gleichzeitigen Vektor bereitstellt. |
const_reference |
Ein Typ, der einen Verweis auf ein const-Element bereitstellt, das in einem gleichzeitigen Vektor gespeichert ist und const-Operationen durchführt. |
const_reverse_iterator |
Ein Typ, der einen Iterator mit beliebigem Zugriff bereitstellt, der ein beliebiges const-Element im gleichzeitigen Vektor lesen kann. |
difference_type |
Ein Typ, der die vorzeichenbehaftete Entfernung zwischen zwei Elementen in einem gleichzeitigen Vektor bereitstellt. |
iterator |
Ein Typ, der einen Iterator mit beliebigem Zugriff bereitstellt, der ein beliebiges Element in einem gleichzeitigen Vektor lesen kann. Änderungen eines Elements, die den Iterator verwenden, sind nicht parallelitätssicher. |
pointer |
Ein Typ, der einen Zeiger auf ein Element in einem gleichzeitigen Vektor bereitstellt. |
reference |
Ein Typ, der einen Verweis auf ein Element in einem gleichzeitigen Vektor bereitstellt. |
reverse_iterator |
Ein Typ, der einen Iterator mit beliebigem Zugriff bereitstellt, der ein beliebiges Element in einem reservierten gleichzeitigen Vektor lesen kann. Änderungen eines Elements, die den Iterator verwenden, sind nicht parallelitätssicher. |
size_type |
Ein Typ, der die Anzahl von Elementen in einem gleichzeitigen Vektor angibt. |
value_type |
Ein Typ, der den in einem gleichzeitigen Vektor gespeicherten Datentyp darstellt. |
Öffentliche Konstruktoren
Name |
Beschreibungen |
---|---|
Überladen. Erstellt einen gleichzeitigen Vektor. |
|
Löscht alle Elemente und zerstört diesen gleichzeitigen Vektor. |
Öffentliche Methoden
Name |
Beschreibungen |
---|---|
Überladen. Löscht die Elemente des gleichzeitigen Vektors und weist ihm entweder _N-Kopien von _Item oder angegebene Werte aus dem Iteratorbereich zu [_Begin, _End). Diese Methode ist nicht parallelitätssicher. |
|
Überladen. Bietet Zugriff auf das Element am angegebenen Index im gleichzeitigen Vektor. Diese Methode ist für Lesevorgänge parallelitätssicher, und auch während der Vektorvergrößerung, solange Sie sichergestellt haben, dass der Wert _Index kleiner als der parallele Vektor ist. |
|
Überladen. Gibt einen Verweis oder einen const-Verweis auf das letzte Element im gleichzeitigen Vektor zurück. Wenn der gleichzeitige Vektor leer ist, ist der Rückgabewert nicht definiert. Diese Methode ist parallelitätssicher. |
|
Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher. |
|
Gibt die maximale Größe zurück, auf die der gleichzeitige Vektor anwachsen kann, ohne zusätzlichen Speicher zu belegen. Diese Methode ist parallelitätssicher. |
|
Gibt einen Iterator vom Typ const_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher. |
|
Gibt einen Iterator vom Typ const_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher. |
|
Löscht alle Elemente im gleichzeitigen Vektor. Diese Methode ist nicht parallelitätssicher. |
|
Gibt einen Iterator vom Typ const_reverse_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher. |
|
Gibt einen Iterator vom Typ const_reverse_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher. |
|
Testet, ob der gleichzeitige Vektor beim Aufruf dieser Methode leer ist. Diese Methode ist parallelitätssicher. |
|
Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher. |
|
Überladen. Gibt einen Verweis oder einen const-Verweis auf das erste Element im gleichzeitigen Vektor zurück. Wenn der gleichzeitige Vektor leer ist, ist der Rückgabewert nicht definiert. Diese Methode ist parallelitätssicher. |
|
Gibt eine Kopie der Belegungsfunktion zurück, die verwendet wurde, um den gleichzeitigen Vektor zu erstellen. Diese Methode ist parallelitätssicher. |
|
Überladen. Vergrößert diesen gleichzeitigen Vektor um _Delta Elemente. Diese Methode ist parallelitätssicher. |
|
Vergrößert diesen gleichzeitigen Vektor, bis es mindestens über _N Elemente verfügt. Diese Methode ist parallelitätssicher. |
|
Gibt die maximale Anzahl von Elementen zurück, die der gleichzeitige Vektor aufnehmen kann. Diese Methode ist parallelitätssicher. |
|
Fügt das angegebene Element an das Ende des gleichzeitigen Vektors an. Diese Methode ist parallelitätssicher. |
|
Überladen. Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher. |
|
Überladen. Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher. |
|
Reserviert ausreichend Speicherplatz, um den gleichzeitigen Vektor auf die Größe _N anwachsen zu lassen, ohne später mehr Speicher reservieren zu müssen. Diese Methode ist nicht parallelitätssicher. |
|
Überladen. Ändert die Größe des gleichzeitigen Vektors in die angeforderte Größe und löscht oder fügt dabei nach Bedarf Elemente hinzu. Diese Methode ist nicht parallelitätssicher. |
|
Komprimiert die interne Darstellung des gleichzeitigen Vektors, um Fragmentierung zu reduzieren und die Speicherauslastung zu optimieren. |
|
Gibt die Anzahl von Elementen im gleichzeitigen Vektor zurück. Diese Methode ist parallelitätssicher. |
|
Vertauscht den Inhalt zweier gleichzeitiger Vektoren. Diese Methode ist nicht parallelitätssicher. |
Öffentliche Operatoren
Name |
Beschreibungen |
---|---|
Überladen. Bietet Zugriff auf das Element am angegebenen Index im gleichzeitigen Vektor. Diese Methode ist für Lesevorgänge parallelitätssicher, und auch während der Vektorvergrößerung, solange Sie sichergestellt haben, dass der Wert _Index kleiner als der parallele Vektor ist. |
|
Überladen. Weist den Inhalt eines anderen concurrent_vector-Objekts diesem Objekt zu. Diese Methode ist nicht parallelitätssicher. |
Hinweise
Ausführliche Informationen zur concurrent_vector-Klasse finden Sie unter Parallele Container und Objekte.
Vererbungshierarchie
_Allocator_base
_Concurrent_vector_base_v4
Anforderungen
Header: concurrent_vector.h
Namespace: Concurrency