Funzione parallel_for
parallel_for scorre un intervallo di indici ed esegue una funzione fornita dall'utente a ogni iterazione, in parallelo.
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
);
Parametri
_Index_type
Tipi dell'indice utilizzato per l'iterazione._Function
Tipo della funzione che sarà eseguito a ogni iterazione._Partitioner
Tipo del partitioner che viene utilizzato per suddividere l'intervallo specificato._First
Primo indice da includere nell'iterazione._Last
Indice successivo all'ultimo da includere nell'iterazione._Step
Valore in base al quale procedere quando si esegue l'iterazione da _First a _Last. Il passaggio deve essere positivo. invalid_argument viene generato se il passaggio è minore di 1._Func
Funzione da eseguire a ogni iterazione. Potrebbe essere un'espressione lambda, un puntatore a funzione o un qualsiasi oggetto che supporti una versione dell'operatore di chiamata di funzione con la firma void operator()(_Index_type**)**._Part
Riferimento all'oggetto partitioner. L'argomento può essere constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& o affinity_partitioner& Se viene utilizzato un oggetto affinity_partitioner, il riferimento deve essere un riferimento non const l-value, così l'algoritmo può archiviare lo stato per i cicli futuri per riutilizzarlo.
Note
Per ulteriori informazioni, vedere Algoritmi paralleli.
Requisiti
Header: ppl.h
Spazio dei nomi: concorrenza