[libcxx-commits] [libcxx] ab028d8 - [libc++][PSTL] Update papers and add a status page for the algorithms

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jun 12 16:46:15 PDT 2023


Author: Nikolas Klauser
Date: 2023-06-12T16:46:06-07:00
New Revision: ab028d8006d4e2033a4930d04568d8c23a667b71

URL: https://github.com/llvm/llvm-project/commit/ab028d8006d4e2033a4930d04568d8c23a667b71
DIFF: https://github.com/llvm/llvm-project/commit/ab028d8006d4e2033a4930d04568d8c23a667b71.diff

LOG: [libc++][PSTL] Update papers and add a status page for the algorithms

Reviewed By: #libc, ldionne

Spies: libcxx-commits, mgrang, arphaman

Differential Revision: https://reviews.llvm.org/D152578

Added: 
    libcxx/docs/Status/PSTL.rst
    libcxx/docs/Status/PSTLPaper.csv

Modified: 
    libcxx/docs/Status/Cxx17.rst
    libcxx/docs/Status/Cxx17Issues.csv
    libcxx/docs/Status/Cxx17Papers.csv
    libcxx/docs/Status/Cxx20Issues.csv
    libcxx/docs/Status/Cxx20Papers.csv
    libcxx/docs/Status/Ranges.rst
    libcxx/docs/index.rst

Removed: 
    


################################################################################
diff  --git a/libcxx/docs/Status/Cxx17.rst b/libcxx/docs/Status/Cxx17.rst
index 96c010cf47e58..99bfc7da962bd 100644
--- a/libcxx/docs/Status/Cxx17.rst
+++ b/libcxx/docs/Status/Cxx17.rst
@@ -43,6 +43,7 @@ Paper Status
    .. [#note-P0067] P0067: ``std::(to|from)_chars`` for integrals has been available since version 7.0. ``std::to_chars`` for ``float`` and ``double`` since version 14.0 ``std::to_chars`` for ``long double`` uses the implementation for ``double``.
    .. [#note-P0607] P0607: The parts of P0607 that are not done are the ``<regex>`` bits.
    .. [#note-P0154] P0154: This is currently not implemented for clang because clang does not implement the required macros.
+   .. [#note-P0452] P0452: The changes to ``std::transform_inclusive_scan`` and ``std::transform_exclusive_scan`` have not yet been implemented.
 
 .. _issues-status-cxx17:
 

diff  --git a/libcxx/docs/Status/Cxx17Issues.csv b/libcxx/docs/Status/Cxx17Issues.csv
index 8bcdbd7fa04c0..f535296fc23da 100644
--- a/libcxx/docs/Status/Cxx17Issues.csv
+++ b/libcxx/docs/Status/Cxx17Issues.csv
@@ -162,7 +162,7 @@
 "`2685 <https://wg21.link/LWG2685>`__","shared_ptr deleters must not throw on move construction","Oulu","|Complete|",""
 "`2687 <https://wg21.link/LWG2687>`__","{inclusive,exclusive}_scan misspecified","Oulu","",""
 "`2688 <https://wg21.link/LWG2688>`__","clamp misses preconditions and has extraneous condition on result","Oulu","|Complete|",""
-"`2689 <https://wg21.link/LWG2689>`__","Parallel versions of std::copy and std::move shouldn't be in order","Oulu","",""
+"`2689 <https://wg21.link/LWG2689>`__","Parallel versions of std::copy and std::move shouldn't be in order","Oulu","|Nothing to do|",""
 "`2698 <https://wg21.link/LWG2698>`__","Effect of assign() on iterators/pointers/references","Oulu","|Complete|",""
 "`2704 <https://wg21.link/LWG2704>`__","recursive_directory_iterator's members should require '``*this`` is dereferenceable'","Oulu","|Complete|",""
 "`2706 <https://wg21.link/LWG2706>`__","Error reporting for recursive_directory_iterator::pop() is under-specified","Oulu","|Complete|",""

diff  --git a/libcxx/docs/Status/Cxx17Papers.csv b/libcxx/docs/Status/Cxx17Papers.csv
index b68eb26faa82f..9010402effc5f 100644
--- a/libcxx/docs/Status/Cxx17Papers.csv
+++ b/libcxx/docs/Status/Cxx17Papers.csv
@@ -25,7 +25,7 @@
 "`P0074R0 <https://wg21.link/p0074r0>`__","LWG","Making ``std::owner_less``\  more flexible","Kona","|Complete|","3.8"
 "`P0013R1 <https://wg21.link/p0013r1>`__","LWG","Logical type traits rev 2","Kona","|Complete|","3.8"
 "","","","","",""
-"`P0024R2 <https://wg21.link/P0024R2>`__","LWG","The Parallelism TS Should be Standardized","Jacksonville","",""
+"`P0024R2 <https://wg21.link/P0024R2>`__","LWG","The Parallelism TS Should be Standardized","Jacksonville","|Partial|",""
 "`P0226R1 <https://wg21.link/P0226R1>`__","LWG","Mathematical Special Functions for C++17","Jacksonville","",""
 "`P0220R1 <https://wg21.link/P0220R1>`__","LWG","Adopt Library Fundamentals V1 TS Components for C++17","Jacksonville","|Complete|","16.0"
 "`P0218R1 <https://wg21.link/P0218R1>`__","LWG","Adopt the File System TS for C++17","Jacksonville","|Complete|","7.0"
@@ -61,14 +61,14 @@
 "`p0295r0 <https://wg21.link/p0295r0>`__","LWG","Adopt Selected Library Fundamentals V2 Components for C++17","Oulu","|Complete|","4.0"
 "`p0302r1 <https://wg21.link/p0302r1>`__","LWG","Removing Allocator Support in std::function","Oulu","|Complete|","4.0"
 "`p0307r2 <https://wg21.link/p0307r2>`__","LWG","Making Optional Greater Equal Again","Oulu","|Complete|","4.0"
-"`p0336r1 <https://wg21.link/p0336r1>`__","LWG","Better Names for Parallel Execution Policies in C++17","Oulu","",""
+"`p0336r1 <https://wg21.link/p0336r1>`__","LWG","Better Names for Parallel Execution Policies in C++17","Oulu","|Complete|","17.0"
 "`p0337r0 <https://wg21.link/p0337r0>`__","LWG","Delete ``operator=``\  for polymorphic_allocator","Oulu","|Complete|","3.9"
 "`p0346r1 <https://wg21.link/p0346r1>`__","LWG","A <random> Nomenclature Tweak","Oulu","|Complete|","3.9"
 "`p0358r1 <https://wg21.link/p0358r1>`__","LWG","Fixes for not_fn","Oulu","|Complete|","3.9"
 "`p0371r1 <https://wg21.link/p0371r1>`__","LWG","Temporarily discourage memory_order_consume","Oulu","|Nothing To Do|","n/a"
 "`p0392r0 <https://wg21.link/p0392r0>`__","LWG","Adapting string_view by filesystem paths","Oulu","|Complete|","4.0"
 "`p0393r3 <https://wg21.link/p0393r3>`__","LWG","Making Variant Greater Equal","Oulu","|Complete|","4.0"
-"`P0394r4 <https://wg21.link/P0394r4>`__","LWG","Hotel Parallelifornia: terminate() for Parallel Algorithms Exception Handling","Oulu","",""
+"`P0394r4 <https://wg21.link/P0394r4>`__","LWG","Hotel Parallelifornia: terminate() for Parallel Algorithms Exception Handling","Oulu","|Complete|","17.0"
 "","","","","",""
 "`P0003R5 <https://wg21.link/P0003R5>`__","LWG","Removing Deprecated Exception Specifications from C++17","Issaquah","|Complete|","5.0"
 "`P0067R5 <https://wg21.link/P0067R5>`__","LWG","Elementary string conversions, revision 5","Issaquah","|Partial| [#note-P0067]_",""
@@ -95,19 +95,19 @@
 "`P0317R1 <https://wg21.link/P0317R1>`__","LWG","Directory Entry Caching for Filesystem","Kona","|Complete|","7.0"
 "`P0430R2 <https://wg21.link/P0430R2>`__","LWG","File system library on non-POSIX-like operating systems","Kona","|Complete|","7.0"
 "`P0433R2 <https://wg21.link/P0433R2>`__","LWG","Toward a resolution of US7 and US14: Integrating template deduction for class templates into the standard library","Kona","|Complete|","14.0"
-"`P0452R1 <https://wg21.link/P0452R1>`__","LWG","Unifying <numeric> Parallel Algorithms","Kona","",""
-"`P0467R2 <https://wg21.link/P0467R2>`__","LWG","Iterator Concerns for Parallel Algorithms","Kona","",""
+"`P0452R1 <https://wg21.link/P0452R1>`__","LWG","Unifying <numeric> Parallel Algorithms","Kona","|Partial| [#note-P0452]_",""
+"`P0467R2 <https://wg21.link/P0467R2>`__","LWG","Iterator Concerns for Parallel Algorithms","Kona","|Partial|",""
 "`P0492R2 <https://wg21.link/P0492R2>`__","LWG","Proposed Resolution of C++17 National Body Comments for Filesystems","Kona","|Complete|","7.0"
-"`P0518R1 <https://wg21.link/P0518R1>`__","LWG","Allowing copies as arguments to function objects given to parallel algorithms in response to CH11","Kona","",""
-"`P0523R1 <https://wg21.link/P0523R1>`__","LWG","Wording for CH 10: Complexity of parallel algorithms","Kona","",""
+"`P0518R1 <https://wg21.link/P0518R1>`__","LWG","Allowing copies as arguments to function objects given to parallel algorithms in response to CH11","Kona","|Nothing to do|",""
+"`P0523R1 <https://wg21.link/P0523R1>`__","LWG","Wording for CH 10: Complexity of parallel algorithms","Kona","|Nothing to do|",""
 "`P0548R1 <https://wg21.link/P0548R1>`__","LWG","common_type and duration","Kona","|Complete|","5.0"
 "`P0558R1 <https://wg21.link/P0558R1>`__","LWG","Resolving atomic<T> named base class inconsistencies","Kona","|Complete|",""
-"`P0574R1 <https://wg21.link/P0574R1>`__","LWG","Algorithm Complexity Constraints and Parallel Overloads","Kona","",""
+"`P0574R1 <https://wg21.link/P0574R1>`__","LWG","Algorithm Complexity Constraints and Parallel Overloads","Kona","|Nothing to do|",""
 "`P0599R1 <https://wg21.link/P0599R1>`__","LWG","noexcept for hash functions","Kona","|Complete|","5.0"
 "`P0604R0 <https://wg21.link/P0604R0>`__","LWG","Resolving GB 55, US 84, US 85, US 86","Kona","|Complete|",""
 "`P0607R0 <https://wg21.link/P0607R0>`__","LWG","Inline Variables for the Standard Library","Kona","|In Progress| [#note-P0607]_","6.0"
 "`P0618R0 <https://wg21.link/P0618R0>`__","LWG","Deprecating <codecvt>","Kona","|Complete|","15.0"
-"`P0623R0 <https://wg21.link/P0623R0>`__","LWG","Final C++17 Parallel Algorithms Fixes","Kona","",""
+"`P0623R0 <https://wg21.link/P0623R0>`__","LWG","Final C++17 Parallel Algorithms Fixes","Kona","|Nothing to do|",""
 "","","","","",""
 "`P0682R1 <https://wg21.link/P0682R1>`__","LWG","Repairing elementary string conversions","Toronto","",""
 "`P0739R0 <https://wg21.link/P0739R0>`__","LWG","Some improvements to class template argument deduction integration into the standard library","Toronto","|Complete|","5.0"

diff  --git a/libcxx/docs/Status/Cxx20Issues.csv b/libcxx/docs/Status/Cxx20Issues.csv
index c0d764da19b3d..081172bdd41db 100644
--- a/libcxx/docs/Status/Cxx20Issues.csv
+++ b/libcxx/docs/Status/Cxx20Issues.csv
@@ -71,7 +71,7 @@
 "`3042 <https://wg21.link/LWG3042>`__","``is_literal_type_v``\  should be inline","Jacksonville","|Complete|",""
 "`3043 <https://wg21.link/LWG3043>`__","Bogus postcondition for ``filesystem_error``\  constructor","Jacksonville","|Complete|",""
 "`3045 <https://wg21.link/LWG3045>`__","``atomic<floating-point>``\  doesn't have ``value_type``\  or ``
diff erence_type``\ ","Jacksonville","",""
-"`3048 <https://wg21.link/LWG3048>`__","``transform_reduce(exec, first1, last1, first2, init)``\  discards execution policy","Jacksonville","",""
+"`3048 <https://wg21.link/LWG3048>`__","``transform_reduce(exec, first1, last1, first2, init)``\  discards execution policy","Jacksonville","|Complete|","17.0"
 "`3051 <https://wg21.link/LWG3051>`__","Floating point classifications were inadvertently changed in P0175","Jacksonville","|Nothing To Do|",""
 "`3075 <https://wg21.link/LWG3075>`__","``basic_string``\  needs deduction guides from ``basic_string_view``\ ","Jacksonville","|Complete|",""
 "","","","","",""

diff  --git a/libcxx/docs/Status/Cxx20Papers.csv b/libcxx/docs/Status/Cxx20Papers.csv
index c3359bce0c984..52c4efdad0185 100644
--- a/libcxx/docs/Status/Cxx20Papers.csv
+++ b/libcxx/docs/Status/Cxx20Papers.csv
@@ -85,7 +85,7 @@
 "`P0738R2 <https://wg21.link/P0738R2>`__","LWG","I Stream, You Stream, We All Stream for istream_iterator","Kona","",""
 "`P0811R3 <https://wg21.link/P0811R3>`__","LWG","Well-behaved interpolation for numbers and pointers","Kona","|Complete|","9.0"
 "`P0920R2 <https://wg21.link/P0920R2>`__","LWG","Precalculated hash values in lookup","Kona","Reverted by `P1661 <https://wg21.link/P1661>`__",""
-"`P1001R2 <https://wg21.link/P1001R2>`__","LWG","Target Vectorization Policies from Parallelism V2 TS to C++20","Kona","",""
+"`P1001R2 <https://wg21.link/P1001R2>`__","LWG","Target Vectorization Policies from Parallelism V2 TS to C++20","Kona","|Complete|","17.0"
 "`P1024R3 <https://wg21.link/P1024R3>`__","LWG","Usability Enhancements for std::span","Kona","|Complete|","9.0"
 "`P1164R1 <https://wg21.link/P1164R1>`__","LWG","Make create_directory() Intuitive","Kona","|Complete|","12.0"
 "`P1227R2 <https://wg21.link/P1227R2>`__","LWG","Signed ssize() functions, unsigned size() functions","Kona","|Complete|","9.0"

diff  --git a/libcxx/docs/Status/PSTL.rst b/libcxx/docs/Status/PSTL.rst
new file mode 100644
index 0000000000000..00ecee7ef3d5a
--- /dev/null
+++ b/libcxx/docs/Status/PSTL.rst
@@ -0,0 +1,31 @@
+.. pstl-status:
+
+==========================
+libc++ Parallel STL Status
+==========================
+
+.. include:: ../Helpers/Styles.rst
+
+.. contents::
+  :local:
+
+
+Overview
+========
+
+This document contains the status of the Parallel STL (PSTL) in libc++. It is
+used to track both the status of the sub-projects of the PSTL and who is
+assigned to these sub-projects. This is imperative to effective implementation
+so that work is not duplicated.
+
+If you are interested in contributing to the libc++ PSTL, please send a message
+to the #libcxx channel in the LLVM discoard. Please *do not* start working on
+any of the *assigned* items below.
+
+Sub-Projects in the Implementation Effort
+=========================================
+
+.. csv-table::
+  :file: PSTLPaper.csv
+  :header-rows: 1
+  :widths: auto

diff  --git a/libcxx/docs/Status/PSTLPaper.csv b/libcxx/docs/Status/PSTLPaper.csv
new file mode 100644
index 0000000000000..949a6f3b0d326
--- /dev/null
+++ b/libcxx/docs/Status/PSTLPaper.csv
@@ -0,0 +1,80 @@
+Section,Description,Assignee,Complete
+| `[adjacent.
diff erence] <https://wg21.link/adjacent.
diff erence>`_,std::adjacent_
diff erence,Nikolas Klauser,|Not Started|
+| `[alg.adjacent.find] <https://wg21.link/alg.adjacent.find>`_,std::adjacent_find,Nikolas Klauser,|Not Started|
+| `[alg.all.of] <https://wg21.link/alg.all.of>`_,std::all_of,Nikolas Klauser,|Complete|
+| `[alg.any.of] <https://wg21.link/alg.any.of>`_,std::any_of,Nikolas Klauser,|Complete|
+| `[alg.copy] <https://wg21.link/alg.copy>`_,std::copy,Nikolas Klauser,|Complete|
+| `[alg.copy] <https://wg21.link/alg.copy>`_,std::copy_if,Nikolas Klauser,|Complete|
+| `[alg.copy] <https://wg21.link/alg.copy>`_,std::copy_n,Nikolas Klauser,|Complete|
+| `[alg.count] <https://wg21.link/alg.count>`_,std::count,Nikolas Klauser,|Complete|
+| `[alg.count] <https://wg21.link/alg.count>`_,std::count_if,Nikolas Klauser,|Complete|
+| `[alg.equal] <https://wg21.link/alg.equal>`_,std::equal,Nikolas Klauser,|Complete|
+| `[alg.exclusive.scan] <https://wg21.link/alg.exclusive.scan>`_,std::exclusive_scan,Nikolas Klauser,|Not Started|
+| `[alg.exclusive.scan] <https://wg21.link/alg.exclusive.scan>`_,std::exclusive_scan,Nikolas Klauser,|Not Started|
+| `[alg.fill] <https://wg21.link/alg.fill>`_,std::fill,Nikolas Klauser,|Complete|
+| `[alg.fill] <https://wg21.link/alg.fill>`_,std::fill_n,Nikolas Klauser,|Complete|
+| `[alg.find] <https://wg21.link/alg.find>`_,std::find,Nikolas Klauser,|Complete|
+| `[alg.find.end] <https://wg21.link/alg.find.end>`_,std::find_end,Nikolas Klauser,|Not Started|
+| `[alg.find.first.of] <https://wg21.link/alg.find.first.of>`_,std::find_first_of,Nikolas Klauser,|Not Started|
+| `[alg.find] <https://wg21.link/alg.find>`_,std::find_if,Nikolas Klauser,|Complete|
+| `[alg.find] <https://wg21.link/alg.find>`_,std::find_if_not,Nikolas Klauser,|Complete|
+| `[alg.foreach] <https://wg21.link/alg.foreach>`_,std::for_each,Nikolas Klauser,|Complete|
+| `[alg.foreach] <https://wg21.link/alg.foreach>`_,std::for_each_n,Nikolas Klauser,|Complete|
+| `[alg.generate] <https://wg21.link/alg.generate>`_,std::generate,Nikolas Klauser,|In Progress|
+| `[alg.generate] <https://wg21.link/alg.generate>`_,std::generate_n,Nikolas Klauser,|In Progress|
+| `[alg.set.operations] <https://wg21.link/alg.set.operations>`_,std::includes,Nikolas Klauser,|Not Started|
+| `[alg.inclusive.scan] <https://wg21.link/alg.inclusive.scan>`_,std::inclusive_scan,Nikolas Klauser,|Not Started|
+| `[alg.merge] <https://wg21.link/alg.merge>`_,std::inplace_merge,Nikolas Klauser,|Not Started|
+| `[alg.heap.operations] <https://wg21.link/alg.heap.operations>`_,std::is_heap,Nikolas Klauser,|Not Started|
+| `[alg.heap.operations] <https://wg21.link/alg.heap.operations>`_,std::is_heap_until,Nikolas Klauser,|Not Started|
+| `[alg.partitions] <https://wg21.link/alg.partitions>`_,std::is_partitioned,Nikolas Klauser,|Not Started|
+| `[alg.sort] <https://wg21.link/alg.sort>`_,std::is_sorted,Nikolas Klauser,|Not Started|
+| `[alg.sort] <https://wg21.link/alg.sort>`_,std::is_sorted_until,Nikolas Klauser,|Not Started|
+| `[alg.lex.comparison] <https://wg21.link/alg.lex.comparison>`_,std::lexicographical_compare,Nikolas Klauser,|Not Started|
+| `[alg.min.max] <https://wg21.link/alg.min.max>`_,std::max_element,Nikolas Klauser,|Not Started|
+| `[alg.merge] <https://wg21.link/alg.merge>`_,std::merge,Nikolas Klauser,|Not Started|
+| `[alg.min.max] <https://wg21.link/alg.min.max>`_,std::min_element,Nikolas Klauser,|Not Started|
+| `[alg.min.max] <https://wg21.link/alg.min.max>`_,std::minmax_element,Nikolas Klauser,|Not Started|
+| `[mismatch] <https://wg21.link/mismatch>`_,std::mismatch,Nikolas Klauser,|Not Started|
+| `[alg.move] <https://wg21.link/alg.move>`_,std::move,Nikolas Klauser,|Complete|
+| `[alg.none.of] <https://wg21.link/alg.none.of>`_,std::none_of,Nikolas Klauser,|Complete|
+| `[alg.nth.element] <https://wg21.link/alg.nth.element>`_,std::nth_element,Nikolas Klauser,|Not Started|
+| `[alg.sort] <https://wg21.link/alg.sort>`_,std::partial_sort,Nikolas Klauser,|Not Started|
+| `[alg.sort] <https://wg21.link/alg.sort>`_,std::partial_sort_copy,Nikolas Klauser,|Not Started|
+| `[alg.partitions] <https://wg21.link/alg.partitions>`_,std::partition,Nikolas Klauser,|Not Started|
+| `[alg.partitions] <https://wg21.link/alg.partitions>`_,std::partition_copy,Nikolas Klauser,|Not Started|
+| `[reduce] <https://wg21.link/reduce>`_,std::reduce,Nikolas Klauser,|Complete|
+| `[alg.remove] <https://wg21.link/alg.remove>`_,std::remove,Nikolas Klauser,|Not Started|
+| `[alg.remove] <https://wg21.link/alg.remove>`_,std::remove_copy,Nikolas Klauser,|Not Started|
+| `[alg.remove] <https://wg21.link/alg.remove>`_,std::remove_copy_if,Nikolas Klauser,|Not Started|
+| `[alg.remove] <https://wg21.link/alg.remove>`_,std::remove_if,Nikolas Klauser,|Not Started|
+| `[alg.replace] <https://wg21.link/alg.replace>`_,std::replace,Nikolas Klauser,|Complete|
+| `[alg.replace] <https://wg21.link/alg.replace>`_,std::replace_copy,Nikolas Klauser,|Complete|
+| `[alg.replace] <https://wg21.link/alg.replace>`_,std::replace_copy_if,Nikolas Klauser,|Complete|
+| `[alg.replace] <https://wg21.link/alg.replace>`_,std::replace_if,Nikolas Klauser,|Complete|
+| `[alg.reverse] <https://wg21.link/alg.reverse>`_,std::reverse,Nikolas Klauser,|Not Started|
+| `[alg.reverse] <https://wg21.link/alg.reverse>`_,std::reverse_copy,Nikolas Klauser,|Not Started|
+| `[alg.rotate] <https://wg21.link/alg.rotate>`_,std::rotate,Nikolas Klauser,|Not Started|
+| `[alg.rotate] <https://wg21.link/alg.rotate>`_,std::rotate_copy,Nikolas Klauser,|Not Started|
+| `[alg.search] <https://wg21.link/alg.search>`_,std::search,Nikolas Klauser,|Not Started|
+| `[alg.search] <https://wg21.link/alg.search>`_,std::search_n,Nikolas Klauser,|Not Started|
+| `[alg.set.operations] <https://wg21.link/alg.set.operations>`_,std::set_
diff erence,Nikolas Klauser,|Not Started|
+| `[alg.set.operations] <https://wg21.link/alg.set.operations>`_,std::set_intersection,Nikolas Klauser,|Not Started|
+| `[alg.set.operations] <https://wg21.link/alg.set.operations>`_,std::set_symmetric_
diff erence,Nikolas Klauser,|Not Started|
+| `[alg.set.operations] <https://wg21.link/alg.set.operations>`_,std::set_union,Nikolas Klauser,|Not Started|
+| `[alg.sort] <https://wg21.link/alg.sort>`_,std::sort,Nikolas Klauser,|Not Started|
+| `[alg.partitions] <https://wg21.link/alg.partitions>`_,std::stable_partition,Nikolas Klauser,|Not Started|
+| `[alg.sort] <https://wg21.link/alg.sort>`_,std::stable_sort,Nikolas Klauser,|Complete|
+| `[alg.swap] <https://wg21.link/alg.swap>`_,std::swap_ranges,Nikolas Klauser,|Not Started|
+| `[alg.transform] <https://wg21.link/alg.transform>`_,std::transform,Nikolas Klauser,|Complete|
+| `[alg.transform.exclusive.scan] <https://wg21.link/alg.transform.exclusive.scan>`_,std::transform_exclusive_scan,Nikolas Klauser,|Not Started|
+| `[alg.transform.inclusive.scan] <https://wg21.link/alg.transform.inclusive.scan>`_,std::transform_inclusive_scan,Nikolas Klauser,|Not Started|
+| `[transform.reduce] <https://wg21.link/transform.reduce>`_,std::transform_reduce,Nikolas Klauser,|Complete|
+| `[uninitialized.copy] <https://wg21.link/uninitialized.copy>`_,std::uninitialized_copy,Nikolas Klauser,|Not Started|
+| `[uninitialized.copy] <https://wg21.link/uninitialized.copy>`_,std::uninitialized_copy_n,Nikolas Klauser,|Not Started|
+| `[uninitialized.fill] <https://wg21.link/uninitialized.fill>`_,std::uninitialized_fill,Nikolas Klauser,|Not Started|
+| `[uninitialized.fill] <https://wg21.link/uninitialized.fill>`_,std::uninitialized_fill_n,Nikolas Klauser,|Not Started|
+| `[uninitialized.move] <https://wg21.link/uninitialized.move>`_,std::uninitialized_move,Nikolas Klauser,|Not Started|
+| `[uninitialized.move] <https://wg21.link/uninitialized.move>`_,std::uninitialized_move_n,Nikolas Klauser,|Not Started|
+| `[alg.unique] <https://wg21.link/alg.unique>`_,std::unique,Nikolas Klauser,|Not Started|
+| `[alg.unique] <https://wg21.link/alg.unique>`_,std::unique_copy,Nikolas Klauser,|Not Started|

diff  --git a/libcxx/docs/Status/Ranges.rst b/libcxx/docs/Status/Ranges.rst
index af4300bb7ee51..7d36700d6545f 100644
--- a/libcxx/docs/Status/Ranges.rst
+++ b/libcxx/docs/Status/Ranges.rst
@@ -1,4 +1,4 @@
-a. ranges-status:
+.. ranges-status:
 
 ================================
 libc++ Ranges Status

diff  --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst
index 3830ee7a95a42..6d5a03ef29d4a 100644
--- a/libcxx/docs/index.rst
+++ b/libcxx/docs/index.rst
@@ -47,6 +47,7 @@ Getting Started with libc++
    Status/Cxx2c
    Status/Format
    Status/Parallelism
+   Status/PSTL
    Status/Ranges
    Status/Spaceship
    Status/Zip


        


More information about the libcxx-commits mailing list