Compartilhar via


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

Consulte também

Referência

Namespace Concurrency