parallel_for-Funktion
parallel_for durchläuft einen Bereich von Indizes und führt bei jeder Iteration parallel eine vom Benutzer bereitgestellte Funktion aus.
template <
typename _Index_type,
typename _Function,
typename _Partitioner
>
void parallel_for(
_Index_type_First,
_Index_type_Last,
_Index_type_Step,
const _Function& _Func,
_Partitioner&& _Part
);
template <
typename _Index_type,
typename _Function
>
void parallel_for(
_Index_type_First,
_Index_type_Last,
_Index_type_Step,
const _Function& _Func
);
template <
typename _Index_type,
typename _Function
>
void parallel_for(
_Index_type_First,
_Index_type_Last,
const _Function& _Func,
const auto_partitioner& _Part = auto_partitioner()
);
template <
typename _Index_type,
typename _Function
>
void parallel_for(
_Index_type_First,
_Index_type_Last,
const _Function& _Func,
const static_partitioner& _Part
);
template <
typename _Index_type,
typename _Function
>
void parallel_for(
_Index_type_First,
_Index_type_Last,
const _Function& _Func,
const simple_partitioner& _Part
);
template <
typename _Index_type,
typename _Function
>
void parallel_for(
_Index_type_First,
_Index_type_Last,
const _Function& _Func,
affinity_partitioner& _Part
);
Parameter
_Index_type
Der Typ des Indexes, der für die Iteration verwendet wird._Function
Der Typ der Funktion, die bei jeder Iteration ausgeführt wird._Partitioner
Der Typ des Partitionierers, der verwendet wird, um den angegebenen Bereich aufzuteilen._First
Der erste Index, der in der Iteration eingeschlossen werden soll._Last
Der erste Index nach dem letzten Index, der in der Iteration eingeschlossen werden soll._Step
Der Wert für die Schritte beim Durchlaufen von_First bis _Last.Der Schritt muss positiv sein.invalid_argument wird ausgelöst, wenn der Schritt kleiner als 1 ist._Func
Die in jeder Iteration auszuführende Funktion.Dies kann ein Lambda-Ausdruck, ein Funktionszeiger oder ein beliebiges Objekt sein, das eine Version des Funktionsaufrufoperators mit der Signatur void operator()(_Index_type**)** unterstützt._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
Weitere Informationen finden Sie unter Parallele Algorithmen.
Anforderungen
Header: ppl.h
Namespace: Parallelität