diff --git a/libcxx/docs/Status/Cxx20Papers.csv b/libcxx/docs/Status/Cxx20Papers.csv --- a/libcxx/docs/Status/Cxx20Papers.csv +++ b/libcxx/docs/Status/Cxx20Papers.csv @@ -98,109 +98,110 @@ "`P1463R1 `__","LWG","Mandating the Standard Library: Clause 21 - Containers library","Kona","","" "`P1464R1 `__","LWG","Mandating the Standard Library: Clause 22 - Iterators library","Kona","|Complete|","9.0" "","","","","","" -"`P0325 `__","LWG","to_array from LFTS with updates","Cologne","|Complete|","10.0" -"`P0408 `__","LWG","Efficient Access to basic_stringbuf's Buffer","Cologne","","" -"`P0466 `__","LWG","Layout-compatibility and Pointer-interconvertibility Traits","Cologne","","" -"`P0553 `__","LWG","Bit operations","Cologne","|Complete|","9.0" -"`P0631 `__","LWG","Math Constants","Cologne","|Complete|","11.0" -"`P0645 `__","LWG","Text Formatting","Cologne","|In Progress|","" -"`P0660 `__","LWG","Stop Token and Joining Thread, Rev 10","Cologne","","" -"`P0784 `__","CWG","More constexpr containers","Cologne","|Complete|","12.0" -"`P0980 `__","LWG","Making std::string constexpr","Cologne","","" -"`P1004 `__","LWG","Making std::vector constexpr","Cologne","","" -"`P1035 `__","LWG","Input Range Adaptors","Cologne","","" -"`P1065 `__","LWG","Constexpr INVOKE","Cologne","|Complete|","12.0" -"`P1135 `__","LWG","The C++20 Synchronization Library","Cologne","|Complete|","11.0" -"`P1207 `__","LWG","Movability of Single-pass Iterators","Cologne","","" -"`P1208 `__","LWG","Adopt source_location for C++20","Cologne","","" -"`P1355 `__","LWG","Exposing a narrow contract for ceil2","Cologne","|Complete|","9.0" -"`P1361 `__","LWG","Integration of chrono with text formatting","Cologne","","" -"`P1423 `__","LWG","char8_t backward compatibility remediation","Cologne","|In Progress|","" -"`P1424 `__","LWG","'constexpr' feature macro concerns","Cologne","Superseded by `P1902 `__","" -"`P1466 `__","LWG","Miscellaneous minor fixes for chrono","Cologne","","" -"`P1474 `__","LWG","Helpful pointers for ContiguousIterator","Cologne","","" -"`P1502 `__","LWG","Standard library header units for C++20","Cologne","","" -"`P1522 `__","LWG","Iterator Difference Type and Integer Overflow","Cologne","","" -"`P1523 `__","LWG","Views and Size Types","Cologne","","" -"`P1612 `__","LWG","Relocate Endian's Specification","Cologne","|Complete|","10.0" -"`P1614 `__","LWG","The Mothership has Landed","Cologne","|In Progress|","" -"`P1638 `__","LWG","basic_istream_view::iterator should not be copyable","Cologne","","" -"`P1643 `__","LWG","Add wait/notify to atomic_ref","Cologne","","" -"`P1644 `__","LWG","Add wait/notify to atomic","Cologne","","" -"`P1650 `__","LWG","Output std::chrono::days with 'd' suffix","Cologne","","" -"`P1651 `__","LWG","bind_front should not unwrap reference_wrapper","Cologne","|Complete|","13.0" -"`P1652 `__","LWG","Printf corner cases in std::format","Cologne","|In Progress|","" -"`P1661 `__","LWG","Remove dedicated precalculated hash lookup interface","Cologne","|Nothing To Do|","" -"`P1754 `__","LWG","Rename concepts to standard_case for C++20, while we still can","Cologne","|In Progress|","" +"`P0325R4 `__","LWG","to_array from LFTS with updates","Cologne","|Complete|","10.0" +"`P0408R7 `__","LWG","Efficient Access to basic_stringbuf's Buffer","Cologne","","" +"`P0466R5 `__","LWG","Layout-compatibility and Pointer-interconvertibility Traits","Cologne","","" +"`P0553R4 `__","LWG","Bit operations","Cologne","|Complete|","9.0" +"`P0631R8 `__","LWG","Math Constants","Cologne","|Complete|","11.0" +"`P0645R10 `__","LWG","Text Formatting","Cologne","|In Progress|","" +"`P0660R10 `__","LWG","Stop Token and Joining Thread, Rev 10","Cologne","","" +"`P0784R7 `__","CWG","More constexpr containers","Cologne","|Complete|","12.0" +"`P0980R1 `__","LWG","Making std::string constexpr","Cologne","","" +"`P1004R2 `__","LWG","Making std::vector constexpr","Cologne","","" +"`P1035R7 `__","LWG","Input Range Adaptors","Cologne","","" +"`P1065R2 `__","LWG","Constexpr INVOKE","Cologne","|Complete|","12.0" +"`P1135R6 `__","LWG","The C++20 Synchronization Library","Cologne","|Complete|","11.0" +"`P1207R4 `__","LWG","Movability of Single-pass Iterators","Cologne","","" +"`P1208R6 `__","LWG","Adopt source_location for C++20","Cologne","","" +"`P1355R2 `__","LWG","Exposing a narrow contract for ceil2","Cologne","|Complete|","9.0" +"`P1361R2 `__","LWG","Integration of chrono with text formatting","Cologne","","" +"`P1423R3 `__","LWG","char8_t backward compatibility remediation","Cologne","|In Progress|","" +"`P1424R1 `__","LWG","'constexpr' feature macro concerns","Cologne","Superseded by `P1902 `__","" +"`P1466R3 `__","LWG","Miscellaneous minor fixes for chrono","Cologne","","" +"`P1474R1 `__","LWG","Helpful pointers for ContiguousIterator","Cologne","","" +"`P1502R1 `__","LWG","Standard library header units for C++20","Cologne","","" +"`P1522R1 `__","LWG","Iterator Difference Type and Integer Overflow","Cologne","","" +"`P1523R1 `__","LWG","Views and Size Types","Cologne","","" +"`P1612R1 `__","LWG","Relocate Endian's Specification","Cologne","|Complete|","10.0" +"`P1614R2 `__","LWG","The Mothership has Landed","Cologne","|In Progress|","" +"`P1638R1 `__","LWG","basic_istream_view::iterator should not be copyable","Cologne","","" +"`P1643R1 `__","LWG","Add wait/notify to atomic_ref","Cologne","","" +"`P1644R0 `__","LWG","Add wait/notify to atomic","Cologne","","" +"`P1650R0 `__","LWG","Output std::chrono::days with 'd' suffix","Cologne","","" +"`P1651R0 `__","LWG","bind_front should not unwrap reference_wrapper","Cologne","|Complete|","13.0" +"`P1652R1 `__","LWG","Printf corner cases in std::format","Cologne","|In Progress|","" +"`P1661R1 `__","LWG","Remove dedicated precalculated hash lookup interface","Cologne","|Nothing To Do|","" +"`P1754R1 `__","LWG","Rename concepts to standard_case for C++20, while we still can","Cologne","|In Progress|","" "","","","","","" -"`P0883 `__","LWG","Fixing Atomic Initialization","Belfast","|Complete| [#note-P0883]_","13.0" -"`P1391 `__","LWG","Range constructor for std::string_view","Belfast","|Complete|","14.0" -"`P1394 `__","LWG","Range constructor for std::span","Belfast","|Complete|","14.0" -"`P1456 `__","LWG","Move-only views","Belfast","* *","" -"`P1622 `__","LWG","Mandating the Standard Library: Clause 32 - Thread support library","Belfast","* *","" -"`P1645 `__","LWG","constexpr for numeric algorithms","Belfast","|Complete|","12.0" -"`P1664 `__","LWG","reconstructible_range - a concept for putting ranges back together","Belfast","* *","" -"`P1686 `__","LWG","Mandating the Standard Library: Clause 27 - Time library","Belfast","* *","" -"`P1690 `__","LWG","Refinement Proposal for P0919 Heterogeneous lookup for unordered containers","Belfast","|Complete|","12.0" -"`P1716 `__","LWG","ranges compare algorithm are over-constrained","Belfast","* *","" -"`P1718 `__","LWG","Mandating the Standard Library: Clause 25 - Algorithms library","Belfast","* *","" -"`P1719 `__","LWG","Mandating the Standard Library: Clause 26 - Numerics library","Belfast","* *","" -"`P1720 `__","LWG","Mandating the Standard Library: Clause 28 - Localization library","Belfast","* *","" -"`P1721 `__","LWG","Mandating the Standard Library: Clause 29 - Input/Output library","Belfast","* *","" -"`P1722 `__","LWG","Mandating the Standard Library: Clause 30 - Regular Expression library","Belfast","* *","" -"`P1723 `__","LWG","Mandating the Standard Library: Clause 31 - Atomics library","Belfast","* *","" -"`P1855 `__","LWG","Make ````\ freestanding","Belfast","* *","" -"`P1862 `__","LWG","Ranges adaptors for non-copyable iterators","Belfast","* *","" -"`P1865 `__","LWG","Add max() to latch and barrier","Belfast","|Complete|","11.0" -"`P1869 `__","LWG","Rename 'condition_variable_any' interruptible wait methods","Belfast","* *","" -"`P1870 `__","LWG","forwarding-range is too subtle","Belfast","|In Progress|","" -"`P1871 `__","LWG","Should concepts be enabled or disabled?","Belfast","* *","" -"`P1872 `__","LWG","span should have size_type, not index_type","Belfast","|Complete|","10.0" -"`P1878 `__","LWG","Constraining Readable Types","Belfast","* *","" -"`P1892 `__","LWG","Extended locale-specific presentation specifiers for std::format","Belfast","|Complete|","14.0" -"`P1902 `__","LWG","Missing feature-test macros 2018-2019","Belfast","* *","" -"`P1959 `__","LWG","Remove std::weak_equality and std::strong_equality","Belfast","* *","" -"`P1960 `__","LWG","NB Comment Changes Reviewed by SG1","Belfast","* *","" -"`P1961 `__","LWG","Harmonizing the definitions of total order for pointers","Belfast","* *","" -"`P1965 `__","LWG","Blanket Wording for Specifying ""Hidden Friends""","Belfast","* *","" +"`P0883R2 `__","LWG","Fixing Atomic Initialization","Belfast","|Complete| [#note-P0883]_","13.0" +"`P1391R4 `__","LWG","Range constructor for std::string_view","Belfast","|Complete|","14.0" +"`P1394R4 `__","LWG","Range constructor for std::span","Belfast","|Complete|","14.0" +"`P1456R1 `__","LWG","Move-only views","Belfast","* *","" +"`P1622R3 `__","LWG","Mandating the Standard Library: Clause 32 - Thread support library","Belfast","* *","" +"`P1645R1 `__","LWG","constexpr for numeric algorithms","Belfast","|Complete|","12.0" +"`P1686R2 `__","LWG","Mandating the Standard Library: Clause 27 - Time library","Belfast","* *","" +"`P1690R1 `__","LWG","Refinement Proposal for P0919 Heterogeneous lookup for unordered containers","Belfast","|Complete|","12.0" +"`P1716R3 `__","LWG","ranges compare algorithm are over-constrained","Belfast","* *","" +"`P1718R2 `__","LWG","Mandating the Standard Library: Clause 25 - Algorithms library","Belfast","* *","" +"`P1719R2 `__","LWG","Mandating the Standard Library: Clause 26 - Numerics library","Belfast","* *","" +"`P1720R2 `__","LWG","Mandating the Standard Library: Clause 28 - Localization library","Belfast","* *","" +"`P1721R2 `__","LWG","Mandating the Standard Library: Clause 29 - Input/Output library","Belfast","* *","" +"`P1722R2 `__","LWG","Mandating the Standard Library: Clause 30 - Regular Expression library","Belfast","* *","" +"`P1723R2 `__","LWG","Mandating the Standard Library: Clause 31 - Atomics library","Belfast","* *","" +"`P1855R0 `__","LWG","Make ````\ freestanding","Belfast","* *","" +"`P1862R1 `__","LWG","Ranges adaptors for non-copyable iterators","Belfast","* *","" +"`P1865R1 `__","LWG","Add max() to latch and barrier","Belfast","|Complete|","11.0" +"`P1869R1 `__","LWG","Rename 'condition_variable_any' interruptible wait methods","Belfast","* *","" +"`P1870R1 `__","LWG","forwarding-range is too subtle","Belfast","|In Progress|","" +"`P1871R1 `__","LWG","Should concepts be enabled or disabled?","Belfast","* *","" +"`P1872R0 `__","LWG","span should have size_type, not index_type","Belfast","|Complete|","10.0" +"`P1878R1 `__","LWG","Constraining Readable Types","Belfast","* *","" +"`P1892R1 `__","LWG","Extended locale-specific presentation specifiers for std::format","Belfast","|Complete|","14.0" +"`P1902R1 `__","LWG","Missing feature-test macros 2018-2019","Belfast","* *","" +"`P1959R0 `__","LWG","Remove std::weak_equality and std::strong_equality","Belfast","* *","" +"`P1960R0 `__","LWG","NB Comment Changes Reviewed by SG1","Belfast","* *","" +"`P1961R0 `__","LWG","Harmonizing the definitions of total order for pointers","Belfast","* *","" +"`P1965R0 `__","LWG","Blanket Wording for Specifying ""Hidden Friends""","Belfast","* *","" "","","","","","" -"`P0586 `__","LWG","Safe integral comparisons","Prague","|Complete|","13.0" -"`P0593 `__","CWG","Implicit creation of objects for low-level object manipulation","Prague","* *","" -"`P1115 `__","LWG","Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if","Prague","|Complete|","11.0" -"`P1243 `__","LWG","Rangify New Algorithms","Prague","* *","" -"`P1460 `__","LWG","Mandating the Standard Library: Clause 20 - Utilities library","Prague","* *","" -"`P1739 `__","LWG","Avoid template bloat for safe_ranges in combination with ""subrange-y"" view adaptors","Prague","* *","" -"`P1831 `__","LWG","Deprecating volatile: library","Prague","* *","" -"`P1868 `__","LWG","width: clarifying units of width and precision in std::format","Prague","|Complete|","14.0" -"`P1908 `__","CWG","Reserving Attribute Namespaces for Future Use","Prague","* *","" -"`P1937 `__","CWG","Fixing inconsistencies between constexpr and consteval functions","Prague","* *","" -"`P1956 `__","LWG","On the names of low-level bit manipulation functions","Prague","|Complete|","12.0" -"`P1957 `__","CWG","Converting from ``T*``\ to bool should be considered narrowing (re: US 212)","Prague","* *","" -"`P1963 `__","LWG","Fixing US 313","Prague","* *","" -"`P1964 `__","LWG","Wording for boolean-testable","Prague","|Complete|","13.0" -"`P1970 `__","LWG","Consistency for size() functions: Add ranges::ssize","Prague","* *","" -"`P1973 `__","LWG","Rename ""_default_init"" Functions, Rev1","Prague","* *","" -"`P1976 `__","LWG","Fixed-size span construction from dynamic range","Prague","|Complete|","11.0" -"`P1981 `__","LWG","Rename leap to leap_second","Prague","* *","" -"`P1982 `__","LWG","Rename link to time_zone_link","Prague","* *","" -"`P1983 `__","LWG","Wording for GB301, US296, US292, US291, and US283","Prague","* *","" -"`P1994 `__","LWG","elements_view needs its own sentinel","Prague","* *","" -"`P2002 `__","CWG","Defaulted comparison specification cleanups","Prague","* *","" -"`P2045 `__","LWG","Missing Mandates for the standard library","Prague","* *","" -"`P2085 `__","CWG","Consistent defaulted comparisons","Prague","* *","" -"`P2091 `__","LWG","Issues with range access CPOs","Prague","* *","" -"`P2101 `__","LWG","'Models' subsumes 'satisfies' (Wording for US298 and US300)","Prague","* *","" -"`P2102 `__","LWG","Make 'implicit expression variations' more explicit (Wording for US185)","Prague","* *","" -"`P2106 `__","LWG","Alternative wording for GB315 and GB316","Prague","* *","" -"`P2116 `__","LWG","Remove tuple-like protocol support from fixed-extent span","Prague","|Complete|","11.0" -"`P2231 `__","LWG","Missing constexpr in std::optional and std::variant","February 2021","|In progress|","13.0" -"`P2325 `__","LWG","Views should not be required to be default constructible","June 2021","|In progress|","" +"`P0586R2 `__","LWG","Safe integral comparisons","Prague","|Complete|","13.0" +"`P0593R6 `__","CWG","Implicit creation of objects for low-level object manipulation","Prague","* *","" +"`P1115R3 `__","LWG","Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if","Prague","|Complete|","11.0" +"`P1243R4 `__","LWG","Rangify New Algorithms","Prague","* *","" +"`P1460R1 `__","LWG","Mandating the Standard Library: Clause 20 - Utilities library","Prague","* *","" +"`P1739R4 `__","LWG","Avoid template bloat for safe_ranges in combination with ""subrange-y"" view adaptors","Prague","* *","" +"`P1831R1 `__","LWG","Deprecating volatile: library","Prague","* *","" +"`P1868R2 `__","LWG","width: clarifying units of width and precision in std::format","Prague","|Complete|","14.0" +"`P1908R1 `__","CWG","Reserving Attribute Namespaces for Future Use","Prague","* *","" +"`P1937R2 `__","CWG","Fixing inconsistencies between constexpr and consteval functions","Prague","* *","" +"`P1956R1 `__","LWG","On the names of low-level bit manipulation functions","Prague","|Complete|","12.0" +"`P1957R2 `__","CWG","Converting from ``T*``\ to bool should be considered narrowing (re: US 212)","Prague","* *","" +"`P1963R0 `__","LWG","Fixing US 313","Prague","* *","" +"`P1964R2 `__","LWG","Wording for boolean-testable","Prague","|Complete|","13.0" +"`P1970R2 `__","LWG","Consistency for size() functions: Add ranges::ssize","Prague","* *","" +"`P1973R1 `__","LWG","Rename ""_default_init"" Functions, Rev1","Prague","* *","" +"`P1976R2 `__","LWG","Fixed-size span construction from dynamic range","Prague","|Complete|","11.0" +"`P1981R0 `__","LWG","Rename leap to leap_second","Prague","* *","" +"`P1982R0 `__","LWG","Rename link to time_zone_link","Prague","* *","" +"`P1983R0 `__","LWG","Wording for GB301, US296, US292, US291, and US283","Prague","* *","" +"`P1994R1 `__","LWG","elements_view needs its own sentinel","Prague","* *","" +"`P2002R1 `__","CWG","Defaulted comparison specification cleanups","Prague","* *","" +"`P2045R1 `__","LWG","Missing Mandates for the standard library","Prague","* *","" +"`P2085R0 `__","CWG","Consistent defaulted comparisons","Prague","* *","" +"`P2091R0 `__","LWG","Issues with range access CPOs","Prague","* *","" +"`P2101R0 `__","LWG","'Models' subsumes 'satisfies' (Wording for US298 and US300)","Prague","* *","" +"`P2102R0 `__","LWG","Make 'implicit expression variations' more explicit (Wording for US185)","Prague","* *","" +"`P2106R0 `__","LWG","Alternative wording for GB315 and GB316","Prague","* *","" +"`P2116R0 `__","LWG","Remove tuple-like protocol support from fixed-extent span","Prague","|Complete|","11.0" +"","","","","","" +"`P2231R1 `__","LWG","Missing constexpr in std::optional and std::variant","June 2021","|In progress|","13.0" +"`P2325R3 `__","LWG","Views should not be required to be default constructible","June 2021","|In progress|","" "`P2210R2 `__","LWG",Superior String Splitting,"June 2021","","" "`P2216R3 `__","LWG",std::format improvements,"June 2021","","" "`P2281R1 `__","LWG",Clarifying range adaptor objects,"June 2021","","" "`P2328R1 `__","LWG",join_view should join all views of ranges,"June 2021","","" "`P2367R0 `__","LWG",Remove misuses of list-initialization from Clause 24,"June 2021","","" -"`P2372 `__","LWG","Fixing locale handling in chrono formatters","October 2021","","" -"`P2415 `__","LWG","What is a ``view``","October 2021","","" -"`P2418 `__","LWG","Add support for ``std::generator``-like types to ``std::format``","October 2021","","" -"`P2432 `__","LWG","Fix ``istream_view``","October 2021","","" +"","","","","","" +"`P2372R3 `__","LWG","Fixing locale handling in chrono formatters","October 2021","","" +"`P2415R2 `__","LWG","What is a ``view``","October 2021","","" +"`P2418R2 `__","LWG","Add support for ``std::generator``-like types to ``std::format``","October 2021","","" +"`P2432R1 `__","LWG","Fix ``istream_view``","October 2021","","" diff --git a/libcxx/docs/Status/Cxx2bPapers.csv b/libcxx/docs/Status/Cxx2bPapers.csv --- a/libcxx/docs/Status/Cxx2bPapers.csv +++ b/libcxx/docs/Status/Cxx2bPapers.csv @@ -23,18 +23,18 @@ "`P2136R3 `__","LWG","invoke_r","June 2021","","" "`P2166R1 `__","LWG","A Proposal to Prohibit std::basic_string and std::basic_string_view construction from nullptr","June 2021","|Complete|","13.0" "","","","","","" -"`P0288 `__","LWG","``any_invocable``","October 2021","","" -"`P0798 `__","LWG","Monadic operations for ``std::optional``","October 2021","","" -"`P0849 `__","LWG","``auto(x)``: ``DECAY_COPY`` in the language","October 2021","","" -"`P1072 `__","LWG","``basic_string::resize_and_overwrite``","October 2021","","" -"`P1147 `__","LWG","Printing ``volatile`` Pointers","October 2021","","" -"`P1272 `__","LWG","Byteswapping for fun&&nuf","October 2021","","" -"`P1675 `__","LWG","``rethrow_exception`` must be allowed to copy","October 2021","","" -"`P2077 `__","LWG","Heterogeneous erasure overloads for associative containers","October 2021","","" -"`P2251 `__","LWG","Require ``span`` & ``basic_string_view`` to be Trivially Copyable","October 2021","|Complete|","14.0" -"`P2301 `__","LWG","Add a ``pmr`` alias for ``std::stacktrace``","October 2021","","" -"`P2321 `__","LWG","``zip``","October 2021","","" -"`P2340 `__","LWG","Clarifying the status of the 'C headers'","October 2021","","" -"`P2393 `__","LWG","Cleaning up ``integer``-class types","October 2021","","" -"`P2401 `__","LWG","Add a conditional ``noexcept`` specification to ``std::exchange``","October 2021","|Complete|","14.0" +"`P0288R9 `__","LWG","``any_invocable``","October 2021","","" +"`P0798R8 `__","LWG","Monadic operations for ``std::optional``","October 2021","","" +"`P0849R8 `__","LWG","``auto(x)``: ``DECAY_COPY`` in the language","October 2021","","" +"`P1072R10 `__","LWG","``basic_string::resize_and_overwrite``","October 2021","","" +"`P1147R1 `__","LWG","Printing ``volatile`` Pointers","October 2021","","" +"`P1272R4 `__","LWG","Byteswapping for fun&&nuf","October 2021","","" +"`P1675R2 `__","LWG","``rethrow_exception`` must be allowed to copy","October 2021","","" +"`P2077R3 `__","LWG","Heterogeneous erasure overloads for associative containers","October 2021","","" +"`P2251R1 `__","LWG","Require ``span`` & ``basic_string_view`` to be Trivially Copyable","October 2021","|Complete|","14.0" +"`P2301R1 `__","LWG","Add a ``pmr`` alias for ``std::stacktrace``","October 2021","","" +"`P2321R2 `__","LWG","``zip``","October 2021","","" +"`P2340R1 `__","LWG","Clarifying the status of the 'C headers'","October 2021","","" +"`P2393R1 `__","LWG","Cleaning up ``integer``-class types","October 2021","","" +"`P2401R0 `__","LWG","Add a conditional ``noexcept`` specification to ``std::exchange``","October 2021","|Complete|","14.0" "","","","","",""