A parallel algorithm - это шаблон функции, указанный в этом международном стандарте, с параметром шаблона с именем ExecutionPolicy.
Параллельные алгоритмы получают доступ к объектам, косвенно доступным через их аргументы, путем вызова следующих функций:
Все операции категорий итераторов, с которыми реализуется алгоритм.
Операции над теми элементами последовательности, которые требуются его спецификацией.
Предоставленные пользователем функциональные объекты, которые будут применяться во время выполнения алгоритма, если этого требует спецификация.
Операции над теми функциональными объектами, которые требуются спецификацией. [ Note: См [algorithms.general]. ] — end note
Эти функции здесь называются element access functions. [ Функция может вызывать следующие функции доступа элемента: Example: sort
Операции итератора произвольного доступа фактического аргумента шаблона (согласно [random.access.iterators]), как подразумевается именем параметра шаблона RandomAccessIterator.
swap Функции на элементах последовательности (согласно предварительным условиям , указанных в [sort]).
Предоставленный пользователем Compare функциональный объект.
— end example ]