Share via


parallel_for_each-Funktion

parallel_for_each wendet eine angegebene Funktion parallel auf jedes Element innerhalb eines Bereichs an.Ist semantisch gleichwertig zur for_each-Funktion im std-Namespace, außer dass die Iteration über die Elemente parallel ausgeführt wird und die Reihenfolge der Iteration nicht angegeben ist.Das Argument _Func muss einen Funktionsaufrufoperator in der Form operator()(T) unterstützen, wobei der Parameter T der Elementtyp des Containers ist, der durchlaufen wird.

template <
   typename _Iterator,
   typename _Function
>
void parallel_for_each(
   _Iterator_First,
   _Iterator_Last,
   const _Function& _Func
);

template <
   typename _Iterator,
   typename _Function,
   typename _Partitioner
>
void parallel_for_each(
   _Iterator_First,
   _Iterator_Last,
   const _Function& _Func,
   _Partitioner&& _Part
);

Parameter

  • _Iterator
    Der Typ des Iterators, der verwendet wird, um den Container zu durchlaufen.

  • _Function
    Der Typ der Funktion, die auf jedes Element innerhalb des Bereichs angewendet wird.

  • _Partitioner

  • _First
    Ein Iterator, der die Position des ersten Elements angibt, das in die parallele Iteration eingeschlossen werden soll.

  • _Last
    Ein Iterator, der die Position ein Element hinter dem letzten Elements angibt, das in die parallele Iteration eingeschlossen werden soll.

  • _Func
    Ein benutzerdefiniertes Funktionsobjekt, das auf jedes Element im Bereich angewendet wird.

  • _Part
    Ein Verweis auf den Partitionierer Objekt.Das Argument kann eine von constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& oder affinity_partitioner& sein, wenn ein affinity_partitioner-Objekt verwendet wird, muss ein Verweis nicht konstante L-Werts-Verweis sein, damit der Algorithmus Zustand speichern kann, für die zukünftige Wiederverwendung Schleifen.

Hinweise

auto_partitioner wird für die Überladung ohne einen expliziten Partitionierer verwendet.

Für Iteratoren, die den wahlfreien Zugriff unterstützen nicht nur auto_partitioner unterstützt wird.

Weitere Informationen finden Sie unter Parallele Algorithmen.

Anforderungen

Header: ppl.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace