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 das Partitioniererobjekt. Das Argument kann einer von constauto_partitioner&, conststatic_partitioner&, const&simple_partitioner oder affinity_partitioner sein &, wenn ein Objekt verwendet affinity_partitioner, wird der Verweis muss ein nicht konstanter L-Werts-Verweis sein, sodass der Algorithmus Zustand speichern kann, dass zukünftige Schleifen wiederverwenden.
Hinweise
Weitere Informationen finden Sie unter Parallele Algorithmen.
Anforderungen
Header: ppl.h
Namespace: Parallelität