Extensions for parallelism

From cppreference.com

The C++ Extensions for Parallelism, ISO/IEC TS 19570:2015 defines the following new components for the C++ standard library:

Execution policies

The parallelism TS describes three execution policies: sequential , parallel , and parallel+vector , and provides corresponding execution policy types and objects. Users may select an execution policy statically by invoking a parallel algorithm with the an execution policy object of the corresponding type, or dynamically by using the type-erasing execution_policy class.

Implementations may define additional execution policies as an extension. The semantics of parallel algorithms invoked with an execution policy object of implementation-defined type is implementation-defined.

execution policy types
(class)
global execution policy objects
(constant)
dynamic execution policy
(class)
test whether a class represents an execution policy
(class template)

Exception lists

exceptions raised during parallel executions
(class)

Parallelized versions of existing algorithms

The TS provides parallelized versions of the following 69 algorithms from <algorithm>, <numeric> and <memory>:

Standard library algorithms for which parallelized versions are provided

New algorithms

Defined in header <experimental/algorithm>
similar to std::for_each except returns void
(function template)
applies a function object to the first n elements of a sequence
(function template)
Defined in header <experimental/numeric>
(parallelism TS)
similar to std::accumulate , except out of order
(function template)
similar to std::partial_sum , excludes the i th input element from the i th sum
(function template)
similar to std::partial_sum , includes the i th input element in the i th sum
(function template)
(parallelism TS)
applies a functor, then reduces out of order
(function template)
applies a functor, then calculates exclusive scan
(function template)
applies a functor, then calculates inclusive scan
(function template)