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. Hier sind Parallelitätssichere Zeiger oder Iteratoren immer gültig. Es ist keine Garantie für die Elementinitialisierung oder eine bestimmte Traversalreihenfolge.

Syntax

template<typename T, class _Ax>
class concurrent_vector: protected details::_Allocator_base<T,
    _Ax>,
private details::_Concurrent_vector_base_v4;

Parameter

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

Member

Öffentliche Typedefs

Name Beschreibung
allocator_type Ein Typ, der die Allocatorklasse für den gleichzeitigen Vektor darstellt.
const_iterator Ein Typ, der einen Iterator mit wahlfreiem 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 zum Lesen und Ausführen von const Vorgängen gespeichert ist.
const_reverse_iterator Ein Typ, der einen Iterator mit wahlfreiem Zugriff bereitstellt, der jedes const Element im gleichzeitigen Vektor lesen kann.
difference_type Ein Typ, der den signierten Abstand zwischen zwei Elementen in einem gleichzeitigen Vektor bereitstellt.
iterator Ein Typ, der einen Iterator mit wahlfreiem Zugriff bereitstellt, der jedes Element in einem gleichzeitigen Vektor lesen kann. Die Änderung eines Elements mit dem Iterator ist nicht parallel.
pointer Ein Typ, der einen Zeiger auf ein Element in einem gleichzeitigen Vektor bereitstellt.
reference Ein Typ, der einen Verweis auf ein Element bereitstellt, das in einem gleichzeitigen Vektor gespeichert ist.
reverse_iterator Ein Typ, der einen Iterator mit wahlfreiem Zugriff bereitstellt, der jedes Element in einem umgekehrten gleichzeitigen Vektor lesen kann. Die Änderung eines Elements mit dem Iterator ist nicht parallel.
size_type Ein Typ, der die Anzahl der Elemente in einem gleichzeitigen Vektor zählt.
value_type Ein Typ, der den Datentyp darstellt, der in einem gleichzeitigen Vektor gespeichert ist.

Öffentliche Konstruktoren

Name Beschreibung
Concurrent_vector Überladen. Erstellt einen gleichzeitigen Vektor.
~concurrent_vector Destruktor Löscht alle Elemente und zerstört diesen gleichzeitigen Vektor.

Öffentliche Methoden

Name Beschreibung
assign Überladen. Löscht die Elemente des gleichzeitigen Vektors und weist ihm entweder _N Kopien von _Itemoder Werte zu, die vom Iteratorbereich [ _Begin, _End). Diese Methode ist nicht nebenläufigkeitssicher.
at Überladen. Ermöglicht den Zugriff auf das Element im angegebenen Index im gleichzeitigen Vektor. Diese Methode ist für Lesevorgänge gleichzeitig sicher und auch beim Vergrößern des Vektors, solange Sie sichergestellt haben, dass der Wert _Index kleiner als die Größe des gleichzeitigen Vektors ist.
Rückseite Ü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.
begin Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator an den Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.
Kapazität Gibt die maximale Größe zurück, auf die der gleichzeitige Vektor wachsen kann, ohne mehr Arbeitsspeicher zuweisen zu müssen. Diese Methode ist nebenläufigkeitssicher.
cbegin Gibt einen Iterator vom Typ const_iterator an den Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.
cend Gibt einen Iterator vom Typ const_iterator bis zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.
clear Löscht alle Elemente im gleichzeitigen Vektor. Diese Methode ist nicht nebenläufigkeitssicher.
crbegin Gibt einen Iterator vom Typ const_reverse_iterator an den Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.
crend Gibt einen Iterator vom Typ const_reverse_iterator bis zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.
empty Testet, ob der gleichzeitige Vektor zum Zeitpunkt des Aufrufs dieser Methode leer ist. Diese Methode ist nebenläufigkeitssicher.
end Überladen. Gibt einen Iterator vom Typ iterator oder const_iterator an das Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.
Vorderseite Ü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.
get_allocator Gibt eine Kopie des Allocators zurück, der zum Konstruieren des gleichzeitigen Vektors verwendet wird. Diese Methode ist nebenläufigkeitssicher.
grow_by Überladen. Wächst dieser gleichzeitige Vektor nach _Delta Elementen. Diese Methode ist nebenläufigkeitssicher.
grow_to_at_least Wächst dieser gleichzeitige Vektor, bis er mindestens _N Elemente enthält. Diese Methode ist nebenläufigkeitssicher.
max_size Gibt die maximale Anzahl von Elementen zurück, die der gleichzeitige Vektor enthalten kann. Diese Methode ist nebenläufigkeitssicher.
push_back Überladen. Fügt das angegebene Element am Ende des gleichzeitigen Vektors an. Diese Methode ist nebenläufigkeitssicher.
rbegin Überladen. Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator an den Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.
rend Überladen. Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator an das Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.
reserve Weist genügend Speicherplatz zu, um die Größe _N des gleichzeitigen Vektors zu vergrößern, ohne später mehr Arbeitsspeicher zuweisen zu müssen. Diese Methode ist nicht nebenläufigkeitssicher.
resize Überladen. Ändert die Größe des gleichzeitigen Vektors in die angeforderte Größe, Lösch- oder Hinzufügen von Elementen nach Bedarf. Diese Methode ist nicht nebenläufigkeitssicher.
shrink_to_fit Komprimiert die interne Darstellung des gleichzeitigen Vektors, um die Fragmentierung zu reduzieren und die Speicherauslastung zu optimieren. Diese Methode ist nicht nebenläufigkeitssicher.
size Gibt die Anzahl der Elemente im gleichzeitigen Vektor zurück. Diese Methode ist nebenläufigkeitssicher.
swap Tauscht den Inhalt von zwei gleichzeitigen Vektoren. Diese Methode ist nicht nebenläufigkeitssicher.

Öffentliche Operatoren

Name Beschreibung
operator[] Überladen. Ermöglicht den Zugriff auf das Element im angegebenen Index im gleichzeitigen Vektor. Diese Methode ist für Lesevorgänge gleichzeitig sicher und auch beim Vergrößern des Vektors, solange Sie sichergestellt haben, dass der Wert _Index kleiner als die Größe des gleichzeitigen Vektors ist.
operator= Ü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 Parallel Containers and Objects.

Vererbungshierarchie

_Concurrent_vector_base_v4

_Allocator_base

concurrent_vector

Anforderungen

Kopfzeile: concurrent_vector.h

Namespace: Parallelität

Zuweisen

Löscht die Elemente des gleichzeitigen Vektors und weist ihm entweder _N Kopien von _Itemoder Werte zu, die vom Iteratorbereich [ _Begin, _End). Diese Methode ist nicht nebenläufigkeitssicher.

void assign(
    size_type _N,
    const_reference _Item);

template<class _InputIterator>
void assign(_InputIterator _Begin,
    _InputIterator _End);

Parameter

_Inputiterator
Der Typ des angegebenen Iterators.

_N
Die Anzahl der Elemente, die in den gleichzeitigen Vektor kopiert werden sollen.

_Artikel
Bezug auf einen Wert, der zum Ausfüllen des gleichzeitigen Vektors verwendet wird.

_Beginnen
Ein Iterator für das erste Element des Quellbereichs.

_Ende
Ein Iterator auf eins über das letzte Element des Quellbereichs.

Hinweise

assign ist nicht gleichzeitig sicher. Sie müssen sicherstellen, dass beim Aufrufen dieser Methode keine anderen Threads Methoden für den gleichzeitigen Vektor aufrufen.

at

Ermöglicht den Zugriff auf das Element im angegebenen Index im gleichzeitigen Vektor. Diese Methode ist für Lesevorgänge gleichzeitig sicher und auch beim Vergrößern des Vektors, solange Sie sichergestellt haben, dass der Wert _Index kleiner als die Größe des gleichzeitigen Vektors ist.

reference at(size_type _Index);

const_reference at(size_type _Index) const;

Parameter

_Index
Der Index des abzurufenden Elements.

Rückgabewert

Ein Verweis auf das Element im angegebenen Index.

Hinweise

Die Version der Funktion at , die einen Nichtverweis const zurückgibt, kann nicht verwendet werden, um gleichzeitig in das Element aus verschiedenen Threads zu schreiben. Ein anderes Synchronisierungsobjekt sollte verwendet werden, um gleichzeitige Lese- und Schreibvorgänge mit demselben Datenelement zu synchronisieren.

Die Methode löst aus, wenn _Index sie größer oder gleich der Größe des gleichzeitigen Vektors out_of_range ist und range_error wenn der Index für einen fehlerhaften Teil des Vektors gilt. Ausführliche Informationen dazu, wie ein Vektor beschädigt werden kann, finden Sie unter parallele Container und Objekte.

back (Zurück)

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.

reference back();

const_reference back() const;

Rückgabewert

Ein Verweis oder ein const Verweis auf das letzte Element im gleichzeitigen Vektor.

begin

Gibt einen Iterator vom Typ iterator oder const_iterator an den Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.

iterator begin();

const_iterator begin() const;

Rückgabewert

Ein Iterator vom Typ iterator oder const_iterator bis zum Anfang des gleichzeitigen Vektors.

Kapazität

Gibt die maximale Größe zurück, auf die der gleichzeitige Vektor wachsen kann, ohne mehr Arbeitsspeicher zuweisen zu müssen. Diese Methode ist nebenläufigkeitssicher.

size_type capacity() const;

Rückgabewert

Die maximale Größe, auf die der gleichzeitige Vektor wachsen kann, ohne mehr Arbeitsspeicher zuweisen zu müssen.

Hinweise

Im Gegensatz zu einer C++-Standardbibliothek vectorverschet ein concurrent_vector Objekt vorhandene Elemente nicht, wenn es mehr Arbeitsspeicher zuweist.

cbegin

Gibt einen Iterator vom Typ const_iterator an den Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.

const_iterator cbegin() const;

Rückgabewert

Ein Iterator vom Typ const_iterator bis zum Anfang des gleichzeitigen Vektors.

cend

Gibt einen Iterator vom Typ const_iterator bis zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.

const_iterator cend() const;

Rückgabewert

Ein Iterator vom Typ const_iterator bis zum Ende des gleichzeitigen Vektors.

clear

Löscht alle Elemente im gleichzeitigen Vektor. Diese Methode ist nicht nebenläufigkeitssicher.

void clear();

Hinweise

clear ist nicht gleichzeitig sicher. Sie müssen sicherstellen, dass beim Aufrufen dieser Methode keine anderen Threads Methoden für den gleichzeitigen Vektor aufrufen. clear keine internen Arrays frei. Rufen Sie zum Freigeben interner Arrays die Funktion shrink_to_fit nach clear.

Concurrent_vector

Erstellt einen gleichzeitigen Vektor.

explicit concurrent_vector(
    const allocator_type& _Al = allocator_type());

concurrent_vector(
    const concurrent_vector& _Vector);

template<class M>
concurrent_vector(
    const concurrent_vector<T,
    M>& _Vector,
    const allocator_type& _Al = allocator_type());

concurrent_vector(
    concurrent_vector&& _Vector);

explicit concurrent_vector(
    size_type _N);

concurrent_vector(
    size_type _N,
    const_reference _Item,
    const allocator_type& _Al = allocator_type());

template<class _InputIterator>
concurrent_vector(_InputIterator _Begin,
    _InputIterator _End,
    const allocator_type& _Al = allocator_type());

Parameter

M
Der allocator-Typ des Quellvektors.

_Inputiterator
Der Typ des Eingabeiterators.

_Al
Die mit diesem Objekt zu verwendende Zuweisungsklasse.

_Vektor
Das concurrent_vector-Quellobjekt, aus dem Elemente kopiert oder verschoben werden sollen.

_N
Die Anfangskapazität des concurrent_vector-Objekts.

_Artikel
Der Wert der Elemente im erstellten Objekt.

_Beginnen
Die Position des ersten Elements in dem zu kopierenden Elementbereich.

_Ende
Die Position des ersten Elements nach dem zu kopierenden Elementbereich.

Hinweise

Von allen Konstruktoren wird ein _Al-Zuweisungsobjekt gespeichert und der Vektor initialisiert.

Der erste Konstruktor gibt einen leeren Anfangsvektor an und gibt explizit den Allocatortyp an. zu verwenden.

Die zweiten und dritten Konstruktoren geben eine Kopie des parallel ausgeführten _Vector-Vektors an.

Der vierte Konstruktor gibt eine Verschiebung des gleichzeitigen _Vector-Vektors an.

Der fünfte Konstruktor gibt eine Wiederholung einer angegebenen Zahl ( _N) von Elementen des Standardwerts für die Klasse Tan.

Der sechste Konstruktor gibt eine Wiederholung von ( _N) Elementen des Werts _Iteman.

Der letzte Konstruktor gibt werte an, die vom Iteratorbereich [ _Begin, ). _End

~Concurrent_vector

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

~concurrent_vector();

crbegin

Gibt einen Iterator vom Typ const_reverse_iterator an den Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.

const_reverse_iterator crbegin() const;

Rückgabewert

Ein Iterator vom Typ const_reverse_iterator bis zum Anfang des gleichzeitigen Vektors.

crend

Gibt einen Iterator vom Typ const_reverse_iterator bis zum Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.

const_reverse_iterator crend() const;

Rückgabewert

Ein Iterator vom Typ const_reverse_iterator bis zum Ende des gleichzeitigen Vektors.

empty

Testet, ob der gleichzeitige Vektor zum Zeitpunkt des Aufrufs dieser Methode leer ist. Diese Methode ist nebenläufigkeitssicher.

bool empty() const;

Rückgabewert

true wenn der Vektor im Moment leer war, wurde die Funktion aufgerufen, false andernfalls.

end

Gibt einen Iterator vom Typ iterator oder const_iterator an das Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.

iterator end();

const_iterator end() const;

Rückgabewert

Ein Iterator vom Typ iterator oder const_iterator bis zum Ende des gleichzeitigen Vektors.

Vorderseite

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.

reference front();

const_reference front() const;

Rückgabewert

Ein Verweis oder ein const Verweis auf das erste Element im gleichzeitigen Vektor.

get_allocator

Gibt eine Kopie des Allocators zurück, der zum Konstruieren des gleichzeitigen Vektors verwendet wird. Diese Methode ist nebenläufigkeitssicher.

allocator_type get_allocator() const;

Rückgabewert

Eine Kopie des Allocators, der zum Konstruieren des concurrent_vector Objekts verwendet wird.

grow_by

Wächst dieser gleichzeitige Vektor nach _Delta Elementen. Diese Methode ist nebenläufigkeitssicher.

iterator grow_by(
    size_type _Delta);

iterator grow_by(
    size_type _Delta,
    const_reference _Item);

Parameter

_Delta
Die Anzahl der Elemente, die an das Objekt angefügt werden sollen.

_Artikel
Der Wert, mit dem die neuen Elemente initialisiert werden sollen.

Rückgabewert

Ein Iterator für das erste angefügte Element.

Hinweise

Wenn _Item nicht angegeben, werden die neuen Elemente standardmäßig konstruiert.

grow_to_at_least

Wächst dieser gleichzeitige Vektor, bis er mindestens _N Elemente enthält. Diese Methode ist nebenläufigkeitssicher.

iterator grow_to_at_least(size_type _N);

Parameter

_N
Die neue Mindestgröße für das concurrent_vector Objekt.

Rückgabewert

Ein Iterator, der auf den Anfang der angefügten Sequenz oder auf das Element am Index _N zeigt, wenn keine Elemente angefügt wurden.

max_size

Gibt die maximale Anzahl von Elementen zurück, die der gleichzeitige Vektor enthalten kann. Diese Methode ist nebenläufigkeitssicher.

size_type max_size() const;

Rückgabewert

Die maximale Anzahl von Elementen, die das concurrent_vector Objekt enthalten kann.

operator =

Weist den Inhalt eines anderen concurrent_vector-Objekts diesem Objekt zu. Diese Methode ist nicht nebenläufigkeitssicher.

concurrent_vector& operator= (
    const concurrent_vector& _Vector);

template<class M>
concurrent_vector& operator= (
    const concurrent_vector<T, M>& _Vector);

concurrent_vector& operator= (
    concurrent_vector&& _Vector);

Parameter

M
Der allocator-Typ des Quellvektors.

_Vektor
Das concurrent_vector-Quellobjekt.

Rückgabewert

Ein Verweis auf das concurrent_vector-Objekt.

operator[]

Ermöglicht den Zugriff auf das Element im angegebenen Index im gleichzeitigen Vektor. Diese Methode ist für Lesevorgänge gleichzeitig sicher und auch beim Vergrößern des Vektors, solange Sie sichergestellt haben, dass der Wert _Index kleiner als die Größe des gleichzeitigen Vektors ist.

reference operator[](size_type _index);

const_reference operator[](size_type _index) const;

Parameter

_Index
Der Index des abzurufenden Elements.

Rückgabewert

Ein Verweis auf das Element im angegebenen Index.

Hinweise

Die Version dieser operator [] Eigenschaft gibt einen Nichtverweis const zurück, der nicht zum gleichzeitigen Schreiben in das Element aus verschiedenen Threads verwendet werden kann. Ein anderes Synchronisierungsobjekt sollte verwendet werden, um gleichzeitige Lese- und Schreibvorgänge mit demselben Datenelement zu synchronisieren.

Es wird keine Begrenzungsüberprüfung durchgeführt, um sicherzustellen, dass _Index es sich um einen gültigen Index im gleichzeitigen Vektor handelt.

push_back

Fügt das angegebene Element am Ende des gleichzeitigen Vektors an. Diese Methode ist nebenläufigkeitssicher.

iterator push_back(const_reference _Item);

iterator push_back(T&& _Item);

Parameter

_Artikel
Der wert, der angefügt werden soll.

Rückgabewert

An iterator to item appended.

rbegin

Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator an den Anfang des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.

reverse_iterator rbegin();

const_reverse_iterator rbegin() const;

Rückgabewert

Ein Iterator vom Typ reverse_iterator oder const_reverse_iterator bis zum Anfang des gleichzeitigen Vektors.

rend

Gibt einen Iterator vom Typ reverse_iterator oder const_reverse_iterator an das Ende des gleichzeitigen Vektors zurück. Diese Methode ist nebenläufigkeitssicher.

reverse_iterator rend();

const_reverse_iterator rend() const;

Rückgabewert

Ein Iterator vom Typ reverse_iterator oder const_reverse_iterator bis zum Ende des gleichzeitigen Vektors.

Reserve

Weist genügend Speicherplatz zu, um die Größe _N des gleichzeitigen Vektors zu vergrößern, ohne später mehr Arbeitsspeicher zuweisen zu müssen. Diese Methode ist nicht nebenläufigkeitssicher.

void reserve(size_type _N);

Parameter

_N
Die Anzahl der Elemente, für die Platz reserviert werden soll.

Hinweise

reserve ist nicht gleichzeitig sicher. Sie müssen sicherstellen, dass beim Aufrufen dieser Methode keine anderen Threads Methoden für den gleichzeitigen Vektor aufrufen. Die Kapazität des gleichzeitigen Vektors, nachdem die Methode zurückgegeben wurde, kann größer als die angeforderte Reservierung sein.

resize

Ändert die Größe des gleichzeitigen Vektors in die angeforderte Größe, Lösch- oder Hinzufügen von Elementen nach Bedarf. Diese Methode ist nicht nebenläufigkeitssicher.

void resize(
    size_type _N);

void resize(
    size_type _N,
    const T& val);

Parameter

_N
Die neue Größe des concurrent_vector.

val
Der Wert neuer Elemente, die dem Vektor hinzugefügt werden, wenn die neue Größe größer als die originale Größe ist. Wenn der Wert nicht angegeben wird, werden den neuen Objekten der Standardwert für ihren Typ zugewiesen.

Hinweise

Wenn die Größe des Containers kleiner als die angeforderte Größe ist, werden elemente dem Vektor hinzugefügt, bis sie die angeforderte Größe erreicht. Wenn die Größe des Containers größer als die angeforderte Größe ist, werden die Am nächsten am Ende des Containers liegenden Elemente gelöscht, bis der Container die Größe _Nerreicht. Wenn die tatsächliche Größe des Containers der angeforderten Größe entspricht, wird keine Aktion durchgeführt.

resize ist nicht parallel. Sie müssen sicherstellen, dass beim Aufrufen dieser Methode keine anderen Threads Methoden für den gleichzeitigen Vektor aufrufen.

shrink_to_fit

Komprimiert die interne Darstellung des gleichzeitigen Vektors, um die Fragmentierung zu reduzieren und die Speicherauslastung zu optimieren. Diese Methode ist nicht nebenläufigkeitssicher.

void shrink_to_fit();

Hinweise

Mit dieser Methode werden intern Speicherverschiebungselemente neu zugewiesen, wobei alle Iteratoren ungültig werden. shrink_to_fit ist nicht gleichzeitig sicher. Sie müssen sicherstellen, dass beim Aufrufen dieser Funktion keine anderen Threads Methoden für den gleichzeitigen Vektor aufrufen.

Größe

Gibt die Anzahl der Elemente im gleichzeitigen Vektor zurück. Diese Methode ist nebenläufigkeitssicher.

size_type size() const;

Rückgabewert

Die Anzahl der Elemente in diesem concurrent_vector Objekt.

Hinweise

Die zurückgegebene Größe wird garantiert alle Elemente enthalten, die durch Aufrufe der Funktion push_backangefügt werden, oder Anwachsen-Vorgänge, die vor dem Aufrufen dieser Methode abgeschlossen wurden. Es kann jedoch auch Elemente enthalten, die zugewiesen werden, aber noch im Bau sind, indem gleichzeitig Aufrufe an eine der Wachstumsmethoden aufgerufen werden.

swap

Tauscht den Inhalt von zwei gleichzeitigen Vektoren. Diese Methode ist nicht nebenläufigkeitssicher.

void swap(concurrent_vector& _Vector);

Parameter

_Vektor
Das concurrent_vector Objekt, mit dem Inhalte ausgetauscht werden sollen.

Siehe auch

Concurrency-Namespace
Parallele Container und Objekte