concurrent_vector-Klasse
Die concurrent_vector-Klasse ist eine Sequenzcontainerklasse, die zufälligen Zugriff auf jedes Element zulässt. Sie 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 Zuweisungsobjekt darstellt, das Details zur Speicherbelegung und Aufhebung der Speicherbelegung für den gleichzeitigen Vektor kapselt. Dieses Argument ist optional, und der Standardwert ist allocator<_Ty**>**.
Member
Öffentliche Typedefs
Name |
Beschreibung |
---|---|
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 |
Beschreibung |
---|---|
Überladen. Erstellt einen gleichzeitigen Vektor. |
|
Löscht alle Elemente und zerstört diesen gleichzeitigen Vektor. |
Öffentliche Methoden
Name |
Beschreibung |
---|---|
Ü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 nebenläufigkeitssicher. |
|
Ü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 nebenläufigkeitssicher. |
|
Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher. |
|
Gibt die maximale Größe zurück, auf die der gleichzeitige Vektor anwachsen kann, ohne zusätzlichen Speicher zu belegen. Diese Methode ist nebenläufigkeitssicher. |
|
Gibt einen Iterator vom Typ const_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher. |
|
Gibt einen Iterator vom Typ const_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher. |
|
Löscht alle Elemente im gleichzeitigen Vektor. Diese Methode ist nicht nebenläufigkeitssicher. |
|
Gibt einen Iterator vom Typ const_reverse_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher. |
|
Gibt einen Iterator vom Typ const_reverse_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher. |
|
Testet, ob der gleichzeitige Vektor beim Aufruf dieser Methode leer ist. Diese Methode ist nebenläufigkeitssicher. |
|
Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher. |
|
Ü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 nebenläufigkeitssicher. |
|
Gibt eine Kopie der Belegungsfunktion zurück, die verwendet wurde, um den gleichzeitigen Vektor zu erstellen. Diese Methode ist nebenläufigkeitssicher. |
|
Überladen. Vergrößert diesen gleichzeitigen Vektor um _Delta Elemente. Diese Methode ist nebenläufigkeitssicher. |
|
Vergrößert diesen gleichzeitigen Vektor, bis es mindestens über _N Elemente verfügt. Diese Methode ist nebenläufigkeitssicher. |
|
Gibt die maximale Anzahl von Elementen zurück, die der gleichzeitige Vektor aufnehmen kann. Diese Methode ist nebenläufigkeitssicher. |
|
Überladen. Fügt das angegebene Element an das Ende des gleichzeitigen Vektors an. Diese Methode ist nebenläufigkeitssicher. |
|
Überladen. Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher. |
|
Überladen. Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher. |
|
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 nebenläufigkeitssicher. |
|
Ü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 nebenläufigkeitssicher. |
|
Komprimiert die interne Darstellung des gleichzeitigen Vektors, um Fragmentierung zu reduzieren und die Speicherauslastung zu optimieren. Diese Methode ist nicht nebenläufigkeitssicher. |
|
Gibt die Anzahl von Elementen im gleichzeitigen Vektor zurück. Diese Methode ist nebenläufigkeitssicher. |
|
Vertauscht den Inhalt zweier gleichzeitiger Vektoren. Diese Methode ist nicht nebenläufigkeitssicher. |
Öffentliche Operatoren
Name |
Beschreibung |
---|---|
Ü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 nebenläufigkeitssicher. |
Hinweise
Ausführliche Informationen zur concurrent_vector-Klasse finden Sie unter Parallele Container und Objekte.
Vererbungshierarchie
_Concurrent_vector_base_v4
_Allocator_base
concurrent_vector
Anforderungen
Header: concurrent_vector.h
Namespace: Parallelität