Share via


função de parallel_for_each

parallel_for_eachaplica uma função especificada para cada elemento dentro de um intervalo, em paralelo.É semanticamente equivalente à for_each funcionar a std namespace, exceto aquela iteração sobre elementos é executada em paralelo e a ordem de iteração é especificada.O argumento _Func deve suportar um operador de chamada de função do formulário operator()(T) onde o parâmetro T é o tipo de item de contêiner sendo iterado.

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 sendo usado para iterar sobre o recipiente.

  • _Function
    O tipo de função que será aplicada a cada elemento dentro do intervalo.

  • _Partitioner

  • _First
    Um iterador endereçamento a posição do primeiro elemento a ser incluído na iteração paralela.

  • _Last
    Um iterador endereçamento a posição após o elemento final a ser incluído na iteração paralela.

  • _Func
    Um objeto de função definida pelo usuário é aplicado a cada elemento no intervalo.

  • _Part
    Uma referência ao objeto partitioner.O argumento pode ser uma das constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& ou affinity_partitioner& se um affinity_partitioner o objeto é usado, a referência deve ser uma referência não-const l-value, para que o algoritmo possa armazenar o estado futuro loops para reutilização.

Comentários

auto_partitioner será usado para a sobrecarga sem um partitioner explícita.

Para acessar iteradores não suportam aleatório, apenas auto_partitioner é suportado.

Para mais informações, consulte Algoritmos paralelos.

Requisitos

Cabeçalho: ppl.h

Namespace: concorrência

Consulte também

Referência

simultaneidade Namespace