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

concurrent_vector::concurrent_vector-Konstruktor

Überladen. Erstellt einen gleichzeitigen Vektor.

concurrent_vector::~concurrent_vector-Destruktor

Löscht alle Elemente und zerstört diesen gleichzeitigen Vektor.

Öffentliche Methoden

Name

Beschreibungen

concurrent_vector::assign-Methode

Ü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.

concurrent_vector::at-Methode

Ü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.

concurrent_vector::back-Methode

Ü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.

concurrent_vector::begin-Methode

Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::capacity-Methode

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.

concurrent_vector::cbegin-Methode

Gibt einen Iterator vom Typ const_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::cend-Methode

Gibt einen Iterator vom Typ const_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::clear-Methode

Löscht alle Elemente im gleichzeitigen Vektor. Diese Methode ist nicht parallelitätssicher.

concurrent_vector::crbegin-Methode

Gibt einen Iterator vom Typ const_reverse_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::crend-Methode

Gibt einen Iterator vom Typ const_reverse_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::empty-Methode

Testet, ob der gleichzeitige Vektor beim Aufruf dieser Methode leer ist. Diese Methode ist parallelitätssicher.

concurrent_vector::end-Methode

Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::front-Methode

Ü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.

concurrent_vector::get_allocator-Methode

Gibt eine Kopie der Belegungsfunktion zurück, die verwendet wurde, um den gleichzeitigen Vektor zu erstellen. Diese Methode ist parallelitätssicher.

concurrent_vector::grow_by-Methode

Überladen. Vergrößert diesen gleichzeitigen Vektor um _Delta Elemente. Diese Methode ist parallelitätssicher.

concurrent_vector::grow_to_at_least-Methode

Vergrößert diesen gleichzeitigen Vektor, bis es mindestens über _N Elemente verfügt. Diese Methode ist parallelitätssicher.

concurrent_vector::max_size-Methode

Gibt die maximale Anzahl von Elementen zurück, die der gleichzeitige Vektor aufnehmen kann. Diese Methode ist parallelitätssicher.

concurrent_vector::push_back-Methode

Fügt das angegebene Element an das Ende des gleichzeitigen Vektors an. Diese Methode ist parallelitätssicher.

concurrent_vector::rbegin-Methode

Überladen. Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator zum Anfang des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::rend-Methode

Überladen. Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::reserve-Methode

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.

concurrent_vector::resize-Methode

Ü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.

concurrent_vector::shrink_to_fit-Methode

Komprimiert die interne Darstellung des gleichzeitigen Vektors, um Fragmentierung zu reduzieren und die Speicherauslastung zu optimieren.

concurrent_vector::size-Methode

Gibt die Anzahl von Elementen im gleichzeitigen Vektor zurück. Diese Methode ist parallelitätssicher.

concurrent_vector::swap-Methode

Vertauscht den Inhalt zweier gleichzeitiger Vektoren. Diese Methode ist nicht parallelitätssicher.

Öffentliche Operatoren

Name

Beschreibungen

concurrent_vector::operator[]-Operator

Ü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.

concurrent_vector::operator=-Operator

Ü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

concurrent_vector

Anforderungen

Header: concurrent_vector.h

Namespace: Concurrency

Siehe auch

Referenz

Concurrency-Namespace

Konzepte

Parallele Container und Objekte