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


Функция 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-value ссылкой, чтобы алгоритм мог сохранять состояние для последующих циклов при повторном использовании.

Заметки

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

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

Для получения дополнительной информации см. Параллельные алгоритмы.

Требования

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

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

См. также

Ссылки

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