The class execution::sequenced_policy is an execution policy type used as a unique type to disambiguate parallel algorithm overloading and require that a parallel algorithm’s execution may not be parallelized.

During the execution of a parallel algorithm with the execution::sequenced_policy policy, if the invocation of an element access function exits via an uncaught exception, terminate() shall be called.

20.19.5 Parallel execution policy [execpol.par]

classexecution::parallel_policy{unspecified};

The class execution::parallel_policy is an execution policy type used as a unique type to disambiguate parallel algorithm overloading and indicate that a parallel algorithm’s execution may be parallelized.

During the execution of a parallel algorithm with the execution::parallel_policy policy, if the invocation of an element access function exits via an uncaught exception, terminate() shall be called.

20.19.6 Parallel+Vector execution policy [execpol.vec]

classexecution::parallel_unsequenced_policy{unspecified};

The class execution::parallel_unsequenced_policy is an execution policy type used as a unique type to disambiguate parallel algorithm overloading and indicate that a parallel algorithm’s execution may be parallelized and vectorized.

During the execution of a parallel algorithm with the execution::parallel_unsequenced_policy policy, if the invocation of an element access function exits via an uncaught exception, terminate() shall be called.

Apply the following edits to section 25.2.4 [algorithms.parallel.exceptions] ❡2:

During the execution of a parallel algorithm, if the invocation of an element access function exits via an uncaught exception,
the behavior is determined by the ExecutionPolicy.terminate() is called.