[execpol.unseq] # 26 Algorithms library [[algorithms]](./#algorithms) ## 26.3 Parallel algorithms [[algorithms.parallel]](algorithms.parallel#execpol.unseq) ### 26.3.6 Execution policies [[execpol]](execpol#unseq) #### 26.3.6.6 Unsequenced execution policy [execpol.unseq] [🔗](#lib:execution::unsequenced_policy) `class execution::unsequenced_policy { unspecified }; ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/algorithms.tex#L765) The class 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 vectorized, e.g., executed on a single thread using instructions that operate on multiple data items[.](#1.sentence-1) [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/algorithms.tex#L772) During the execution of a parallel algorithm with the execution​::​unsequenced_policy policy, if the invocation of an element access function exits via an exception,terminate is invoked ([[except.terminate]](except.terminate "14.6.2 The std​::​terminate function"))[.](#2.sentence-1)