[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)
