commit | 8ac601e3fb9073ac13db0f6dfe41eae14ae39595 | [log] [tgz] |
---|---|---|
author | Louis Dionne <ldionne@apple.com> | Tue Aug 06 21:11:24 2019 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Sep 01 14:44:06 2020 -0700 |
tree | daa1212b98446c17fdbe5c2c54f2216ee432e6bc | |
parent | 68449a0961ba6f5f95a334759b4805089ed31331 [diff] |
[pstl][libc++] Provide uglified header names for interface headers For the few (currently four) headers that make up the PSTL's interface to other Standard Libraries, provide a stable uglified header file that can be included by those Standard Libraries. We can then more easily change the internal organization of the PSTL without having to change the integration with Standard Libraries. llvm-svn: 368088 GitOrigin-RevId: 956892433f7c0ae4520232b07d442fedbcc14cb2
Parallel STL is an implementation of the C++ standard library algorithms with support for execution policies, as specified in ISO/IEC 14882:2017 standard, commonly called C++17. The implementation also supports the unsequenced execution policy specified in Parallelism TS version 2 and proposed for the next version of the C++ standard in the C++ working group paper P1001. Parallel STL offers efficient support for both parallel and vectorized execution of algorithms. For sequential execution, it relies on an available implementation of the C++ standard library.
To use Parallel STL, you must have the following software installed:
unseq
and par_unseq
policies only have effect with compilers that support #pragma omp simd
or #pragma simd
.includes
, inplace_merge
, merge
, nth_element
, partial_sort
, partial_sort_copy
, set_difference
, set_intersection
, set_symmetric_difference
, set_union
, sort
, stable_partition
, stable_sort
, unique
.exclusive_scan
, inclusive_scan
, transform_exclusive_scan
, transform_inclusive_scan
shall be DefaultConstructible. A default constructed-instance of the initial value type shall be the identity element for the specified binary operation.max_element
, min_element
, minmax_element
, partial_sort
, partial_sort_copy
, sort
, stable_sort
the dereferenced value type of the provided iterators shall be DefaultConstructible.remove
, remove_if
, unique
the dereferenced value type of the provided iterators shall be MoveConstructible.copy_if
, inplace_merge
, partial_sort
, partial_sort_copy
, partition_copy
, remove
, remove_if
, rotate
, sort
, stable_sort
, unique
, unique_copy
.