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
Il tipo del partitioner che viene utilizzato per dividere 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
Un riferimento a un oggetto di partitioner.L'argomento può essere uno di constauto_partitioner&, di conststatic_partitioner&, di constsimple_partitioner& o di affinity_partitioner& se un oggetto di affinity_partitioner viene utilizzato, il riferimento deve essere un riferimento non const l-value, in modo che l'algoritmo possibile archiviare lo stato per i cicli futuri di riutilizzare.
Note
Per ulteriori informazioni, vedere Algoritmi paralleli.
Requisiti
Header: ppl.h
Concorrenza diSpazio dei nomi: