28 Algorithms library [algorithms]

28.4 Parallel algorithms [algorithms.parallel]

28.4.5 ExecutionPolicy algorithm overloads [algorithms.parallel.overloads]

Параллельные алгоритмы - это перегрузки алгоритмов. Каждая перегрузка параллельного алгоритма имеет дополнительный параметр типа шаблона с именем ExecutionPolicy, который является первым параметром шаблона. Кроме того, каждая перегрузка параллельного алгоритма имеет дополнительный параметр функции типа ExecutionPolicy&&, который является первым параметром функции. [ Note: Не все алгоритмы имеют перегрузки параллельных алгоритмов. ]end note

Если не указано иное, семантика ExecutionPolicy перегрузок алгоритмов идентична их перегрузкам без.

Если не указано иное, требования к сложности ExecutionPolicy перегрузок алгоритмов смягчаются из требований сложности перегрузок без следующего: когда в гарантии указано «максимум expr» или «точно expr» и не указано количество назначений или перестановок, и expr это еще не сделано. выражается в O() обозначениях, сложность алгоритма должна быть O(expr).

Параллельные алгоритмы не должны участвовать в разрешении перегрузки , если is_­execution_­policy_­v<decay_­t<ExecutionPolicy>> не true.