Parallel algorithms are algorithm overloads.

Each parallel algorithm overload
has an additional template type parameter named ExecutionPolicy, which
is the first template parameter.

Additionally, each parallel algorithm overload has an additional function
parameter of type ExecutionPolicy&&, which is the first
function parameter.

Unless otherwise specified, the semantics of ExecutionPolicy algorithm
overloads are identical to their overloads without.

Unless otherwise specified, the complexity requirements of ExecutionPolicy
algorithm overloads are relaxed from the complexity requirements of the overloads
without as follows:
when the guarantee says “at most expr” or “exactly expr”
and does not specify the number of assignments or swaps, and expr
is not already expressed with notation, the complexity of the algorithm
shall be .