Função parallel_for_each
parallel_for_each aplica uma função especificada para cada elemento dentro de um intervalo, em paralelo. É semanticamente equivalente à função de for_each no namespace de std , exceto que a iteração sobre os elementos é executada em paralelo, e a ordem de iteração não é especificado. O argumento _Func deve dar suporte a um operador da chamada de função do formulário operator()(T) onde o parâmetro T é o tipo de item de contêiner que está sendo iterada sobre.
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
);
Parâmetros
_Iterator
O tipo de iterador que está sendo usado para iterar sobre o contêiner._Function
O tipo de função que será aplicado a cada elemento dentro do intervalo._Partitioner
_First
Um iterador que trata a posição do primeiro elemento ser incluída em paralelo iteração._Last
Um iterador que trata a posição uma depois do elemento em paralelo iteração final ser incluída._Func
Um objeto de função definida pelo usuário que é aplicado a cada elemento no intervalo._Part
Uma referência ao objeto de partitioner. O argumento pode ser um de constauto_partitioner&, de conststatic_partitioner&, de constsimple_partitioner& ou de affinity_partitioner& se um objeto de affinity_partitioner for usado, a referência deve ser uma referência de l- valor de não const, de forma que o algoritmo possa armazenar o estado para que o loop futuros reuso.
Comentários
auto_partitioner será usado para a sobrecarga sem um partitioner explícito.
Para os iteradores que não dão suporte de acesso aleatório, somente auto_partitioner tem suporte.
Para obter mais informações, consulte Algoritmos paralelos.
Requisitos
Cabeçalho: ppl.h
Namespace: simultaneidade