Поделиться через


Функция parallel_for_each

parallel_for_each применяет указанную функцию к каждому элементу в диапазоне, параллельно.Оно эквивалентно семантически функции for_each в пространстве имен std, за исключением того, что итерации по элементам выполняется параллельно, и порядок итерации не определен.Аргумент _Func должен поддерживать оператор вызова функции формы operator()(T), где параметр T является типом элемента контейнера, итерация по которому выполняется.

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
);

Параметры

  • _Iterator
    Тип итератор, используемый для перебора контейнера.

  • _Function
    Тип функции, которая будут применяться к каждому элементу в диапазоне.

  • _Partitioner

  • _First
    Итератор, обращающийся к положению первого элемента для включения в параллельных итерации.

  • _Last
    Итератор, обращающийся к положению на одно дальше последнего элемента для включения в параллельных итерации.

  • _Func
    Объект определяемой пользователем функции, который применяется к каждому элементу в диапазоне.

  • _Part
    Ссылка на объект модуля разделения.Аргумент может принимать одно из constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& или affinity_partitioner&, если объект affinity_partitioner используется, то ссылка должен быть ссылкой l-значением, не являющимся константными, чтобы алгоритм мог хранить состояние для последующих циклов для повторного использования.

Заметки

auto_partitioner будет использоваться для перегрузки без явного модуля разделения.

Для итераторов, не поддерживающих прямой доступ, только auto_partitioner поддерживается.

Дополнительные сведения см. в разделе Параллельные алгоритмы.

Требования

Заголовок: ppl.h

Параллелизм пространство имен:

См. также

Ссылки

Пространство имен concurrency