diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2023-05-06 22:02:51 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2023-09-18 14:09:53 +0100 |
commit | c8e9a75085f9725c5b5f32a27867c106fed3b5fb (patch) | |
tree | 6af73b503afec993f5389fcb9b2c22bc221b77df /libstdc++-v3/doc/html | |
parent | 4260f4af4dde6dbf85c28da7e8aaf03985b3d171 (diff) | |
download | gcc-c8e9a75085f9725c5b5f32a27867c106fed3b5fb.zip gcc-c8e9a75085f9725c5b5f32a27867c106fed3b5fb.tar.gz gcc-c8e9a75085f9725c5b5f32a27867c106fed3b5fb.tar.bz2 |
libstdc++: Update C++20 and C++23 status docs
libstdc++-v3/ChangeLog:
* doc/xml/manual/configure.xml: Use conventional option name.
* doc/xml/manual/status_cxx2020.xml: Update.
* doc/xml/manual/status_cxx2023.xml: Update.
* doc/html/*: Regenerate.
Diffstat (limited to 'libstdc++-v3/doc/html')
-rw-r--r-- | libstdc++-v3/doc/html/manual/configure.html | 4 | ||||
-rw-r--r-- | libstdc++-v3/doc/html/manual/status.html | 255 |
2 files changed, 226 insertions, 33 deletions
diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html index c81e599..346b5d3 100644 --- a/libstdc++-v3/doc/html/manual/configure.html +++ b/libstdc++-v3/doc/html/manual/configure.html @@ -208,8 +208,8 @@ C++ includes. If enabled (as by default), and the compiler seems capable of passing the simple sanity checks thrown at it, try to build stdc++.h.gch as part of the make process. - In addition, this generated file is used later on (by appending <code class="code"> - --include bits/stdc++.h </code> to CXXFLAGS) when running the + In addition, this generated file is used later on (by appending + <code class="code">-include bits/stdc++.h</code> to CXXFLAGS) when running the testsuite. </p></dd><dt><span class="term"><code class="code">--enable-extern-template</code>[default]</span></dt><dd><p>Use extern template to pre-instantiate all required specializations for certain types defined in the standard libraries. diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index d046bd2..00a7c255 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -1325,10 +1325,10 @@ or any notes about the implementation. </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_type_identity >= 201806L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> <code class="code">unwrap_ref_decay</code> and <code class="code">unwrap_reference</code> </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0318r1.pdf" target="_top"> P0318R1 </a> - </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_unwrap_ref >= 201811L</code> (since 9.4, see Note 1) </td></tr><tr bgcolor="#B0B0B0"><td align="left"> Improving Completeness Requirements for Type Traits </td><td align="left"> + </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_unwrap_ref >= 201811L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> Improving Completeness Requirements for Type Traits </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1285r0.pdf" target="_top"> P1285R0 </a> - </td><td align="center"> Partial </td><td align="left"> </td></tr><tr><td align="left"> Missing feature test macros </td><td align="left"> + </td><td align="center"> — </td><td align="left"> Most misuses are diagnosed, but not all. </td></tr><tr><td align="left"> Missing feature test macros </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1353r0.html" target="_top"> P1353R0 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> Making std::underlying_type SFINAE-friendly </td><td align="left"> @@ -1411,15 +1411,15 @@ or any notes about the implementation. </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> Ranges Design Cleanup </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1252r2.pdf" target="_top"> P1252R2 </a> - </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Avoid template bloat for <code class="code">safe_ranges</code> in combination with ‘subrange-y’ view adaptors.</td><td align="left"> + </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> Avoid template bloat for <code class="code">safe_ranges</code> in combination with ‘subrange-y’ view adaptors.</td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1739r4.html" target="_top"> P1739R4 </a> - </td><td align="center"> </td><td align="left"> </td></tr><tr><td colspan="4" align="left"> + </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Time, dates, calendars, time zones</strong></span> - </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Extending chrono to Calendars and Time Zones </td><td align="left"> + </td></tr><tr><td align="left"> Extending chrono to Calendars and Time Zones </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html" target="_top"> P0355R7 </a> - </td><td align="left"> </td><td align="left"> <code class="code">__cpp_lib_chrono >= 201803L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Miscellaneous minor fixes for chrono </td><td align="left"> + </td><td align="left"> 14.1 (see Note 2) </td><td align="left"> <code class="code">__cpp_lib_chrono >= 201803L</code> </td></tr><tr><td align="left"> Miscellaneous minor fixes for chrono </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1466r3.html" target="_top"> P1466R3 </a> </td><td align="left"> </td><td align="left"> <code class="code">__cpp_lib_chrono >= 201907L</code> </td></tr><tr><td align="left"> <code class="code"><chrono></code> <code class="code">zero()</code>, <code class="code">min()</code>, and <code class="code">max()</code> should be <code class="code">noexcept</code> </td><td align="left"> @@ -1449,28 +1449,28 @@ or any notes about the implementation. </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_char8_t >= 201811L</code> </td></tr><tr><td align="left"> <code class="code">char8_t</code> backward compatibility remediation </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1423r3.html" target="_top"> P1423R3 </a> - </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_char8_t >= 201907L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Text formatting </td><td align="left"> + </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_char8_t >= 201907L</code> </td></tr><tr><td align="left"> Text formatting </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html" target="_top"> P0645R10 </a> - </td><td align="center"> </td><td align="left"> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_format >= 201907L</code> - </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Integration of chrono with text formatting </td><td align="left"> + </td></tr><tr><td align="left"> Integration of chrono with text formatting </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1361r2.pdf" target="_top"> P1361R2 </a> - </td><td align="center"> </td><td align="left"> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_format >= 201907L</code> - </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Printf corner cases in <code class="code">std::format</code> </td><td align="left"> + </td></tr><tr><td align="left"> Printf corner cases in <code class="code">std::format</code> </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1652r1.html" target="_top"> P1652R1 </a> - </td><td align="center"> </td><td align="left"> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_format >= 201907L</code> </td></tr><tr><td align="left"> String Prefix and Suffix Checking </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0457r2.html" target="_top"> P0457R2 </a> - </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_starts_ends_with >= 201711L</code> (since 9.4, see Note 1) </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Update The Reference To The Unicode Standard </td><td align="left"> + </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_starts_ends_with >= 201711L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> Update The Reference To The Unicode Standard </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1025r1.html" target="_top"> P1025R1 </a> - </td><td align="center"> </td><td align="left"> </td></tr><tr><td colspan="4" align="left"> + </td><td align="center"> —</td><td align="left"> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Containers</strong></span> </td></tr><tr><td align="left"> span: bounds-safe views for sequences of objects </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0122r7.pdf" target="_top"> @@ -1492,10 +1492,10 @@ or any notes about the implementation. </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_to_array >= 201907L</code> </td></tr><tr><td align="left"> Checking for Existence of an Element in Associative Containers </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0458r2.html" target="_top"> P0458R2 </a> - </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Comparing Unordered Containers </td><td align="left"> + </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> Comparing Unordered Containers </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0809r0.pdf" target="_top"> P0809R0 </a> - </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Heterogeneous lookup for unordered containers </td><td align="left"> + </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> Heterogeneous lookup for unordered containers </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0919r3.html" target="_top"> P0919R3 </a> </td><td align="center"> 11.1 </td><td align="left"> <code class="code">__cpp_lib_generic_unordered_lookup >= 201811</code> </td></tr><tr><td align="left"> Refinement Proposal for P0919 </td><td align="left"> @@ -1570,7 +1570,7 @@ or any notes about the implementation. </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Thou Shalt Not Specialize std Function Templates! </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0551r3.pdf" target="_top"> P0551R3 </a> - </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Bit-casting object representations </td><td align="left"> + </td><td align="center"> </td><td align="left">These changes will not be implemented.</td></tr><tr><td align="left"> Bit-casting object representations </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0476r2.html" target="_top"> P0476R2 </a> </td><td align="center"> 11.1 </td><td align="left"> <code class="code">__cpp_lib_bit_cast >= 201806L</code> </td></tr><tr><td align="left"> Integral power-of-2 operations </td><td align="left"> @@ -1591,10 +1591,10 @@ or any notes about the implementation. </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> Add <code class="code">shift</code> to <code class="code"><algorithm></code> </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0769r2.pdf" target="_top"> P0769R2 </a> - </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_shift >= 201806L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Standard Library Specification in a Concepts and Contracts World </td><td align="left"> + </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_shift >= 201806L</code> </td></tr><tr><td align="left"> Standard Library Specification in a Concepts and Contracts World </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0788r3.pdf" target="_top"> P0788R3 </a> - </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">explicit(bool)</code> </td><td align="left"> + </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">explicit(bool)</code> </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0892r2.html" target="_top"> P0892R2 </a> </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> Eradicating unnecessarily explicit default constructors from the standard library </td><td align="left"> @@ -1630,10 +1630,10 @@ or any notes about the implementation. </td><td align="center"> 7.1 </td><td align="left"> </td></tr><tr><td align="left"> Editorial Guidance for merging P0019r8 and P0528r3 </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1123r0.html" target="_top"> P1123R0 </a> - </td><td align="center"> — </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Cleaning up Clause 20 </td><td align="left"> + </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> Cleaning up Clause 20 </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1148r0.pdf" target="_top"> P1148R0 </a> - </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Completing the Rebase of Library Fundamentals, Version 3, Working Draft </td><td align="left"> + </td><td align="center"> — </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Completing the Rebase of Library Fundamentals, Version 3, Working Draft </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1210r0.html" target="_top"> P1210R0 </a> </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Alternative Wording for P0907R4 Signed Integers are Two's Complement </td><td align="left"> @@ -1669,13 +1669,13 @@ or any notes about the implementation. </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1463r1.pdf" target="_top"> P1463R1 </a> - </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> + </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> Mandating the Standard Library: Clause 22 - Iterators library </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1464r1.pdf" target="_top"> P1464R1 </a> - </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> Make <code class="code">create_directory()</code> Intuitive </td><td align="left"> + </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> Make <code class="code">create_directory()</code> Intuitive </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1164r1.pdf" target="_top"> P1164R1 </a> @@ -1711,6 +1711,10 @@ or any notes about the implementation. Note 1: This feature is supported in older releases but the <code class="code">__cpp_lib</code> macro is not defined to the right value (or not defined at all) until the version shown in parentheses. +</p><p> +Note 2: The C++20 calendar types are supported since 11.1, +time zones and UTC are supported since 13.1, +and <code class="function">chrono::parse</code> is supported since 14.1. </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.2023"></a>C++ 2023</h3></div></div></div><p> In this implementation the <code class="literal">-std=gnu++23</code> or <code class="literal">-std=c++23</code> flag must be used to enable language @@ -1780,11 +1784,88 @@ or any notes about the implementation. <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1659r3.html" target="_top"> P1659R3 </a> - </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_ranges_starts_ends_with >= 202106L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">zip</code> </td><td align="left"> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_ranges_starts_ends_with >= 202106L</code> </td></tr><tr><td align="left"> <code class="code">zip</code> </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2321r2.html" target="_top"> P2321R2 </a> - </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_ranges_zip >= 202110L</code> </td></tr><tr><td colspan="4" align="left"> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_zip >= 202110L</code> </td></tr><tr><td align="left"> <code class="code">views::repeat</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2474r2.html" target="_top"> + P2474R2 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_repeat >= 202207L</code> </td></tr><tr><td align="left"> <code class="code">views::enumerate</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2164r9.pdf" target="_top"> + P2164R9 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_enumerate >= 202302L</code> </td></tr><tr><td align="left"> <code class="code">views::join_with</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2441r2.html" target="_top"> + P2441R2 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_join_with >= 202202L</code> </td></tr><tr><td align="left"> + Windowing range adaptors: <code class="code">views::chunk</code> + and <code class="code">views::slide</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2442r2.html" target="_top"> + P2442R2 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_slide >= 202202L</code> </td></tr><tr><td align="left"> <code class="code">views::chunk_by</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2443r1.html" target="_top"> + P2443R1 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_chunk_by >= 202202L</code> </td></tr><tr><td align="left"> <code class="code">views::stride</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1899r3.html" target="_top"> + P1899R3 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_stride >= 202207L</code> </td></tr><tr><td align="left"> <code class="code">views::cartesian_product</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2374r4.html" target="_top"> + P2374R4 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_cartesian_product >= 202207L</code> </td></tr><tr><td align="left"> Empty Product for certain Views </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2540r1.html" target="_top"> + P2540R1 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_cartesian_product >= 202207L</code> </td></tr><tr><td align="left"> <code class="code">views::as_rvalue</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2446r2.html" target="_top"> + P2446R2 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_as_rvalue >= 202207L</code> </td></tr><tr><td align="left"> + <code class="code">cbegin</code> should always return a constant iterator + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2278r4.html" target="_top"> + P2278R4 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_as_const >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">ranges::to</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1206r7.pdf" target="_top"> + P1206R7 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_ranges_to_container >= 202202L</code> </td></tr><tr><td align="left"> Pipe support for user-defined range adaptors </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2387r3.html" target="_top"> + P2387R3 + </a> + </td><td align="center"> 13.1 </td><td align="left"> + <code class="code">__cpp_lib_bind_pack >= 202202L</code>, + <code class="code">__cpp_lib_ranges >= 202202L</code> + </td></tr><tr bgcolor="#B0B0B0"><td align="left"> + <code class="code">ranges::iota</code>, <code class="code">ranges::shift_left</code>, + and <code class="code">ranges::shift_right</code> + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2440r1.html" target="_top"> + P2440R1 + </a> + </td><td align="center"> 13.1 (<code class="code">ranges::iota</code>) </td><td align="left"> + <code class="code">__cpp_lib_ranges_iota >= 202202L</code>, + <code class="code">__cpp_lib_shift >= 202202L</code> + </td></tr><tr><td align="left"> <code class="code">ranges::find_last</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1223r5.pdf" target="_top"> + P1223R5 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_find_last >= 202207L</code> </td></tr><tr><td align="left"> <code class="code">ranges::contains</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2302r4.html" target="_top"> + P2302R4 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_contains >= 202207L</code> </td></tr><tr><td align="left"> <code class="code">ranges::fold</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2322r6.html" target="_top"> + P2322R6 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_ranges_fold >= 202207L</code> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Compile-time programming</strong></span> </td></tr><tr><td align="left"> A proposal for a type trait to detect scoped enumerations </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1048r1.pdf" target="_top"> @@ -1818,11 +1899,11 @@ or any notes about the implementation. <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf" target="_top"> P1413R3 </a> - </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> A type trait to detect reference binding to temporary </td><td align="left"> + </td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#B0B0B0"><td align="left"> A type trait to detect reference binding to temporary </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2255r2.html" target="_top"> P2255R2 </a> - </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_reference_from_temporary >= 202202L</code> </td></tr><tr><td colspan="4" align="left"> + </td><td align="center"> 13.1 (missing changes to <code class="code">std::tuple</code> </td><td align="left"> <code class="code">__cpp_lib_reference_from_temporary >= 202202L</code> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Strings and text</strong></span> </td></tr><tr><td align="left"> string contains function </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1679r3.html" target="_top"> @@ -1854,7 +1935,101 @@ or any notes about the implementation. <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2077r3.html" target="_top"> P2077R3 </a> - </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_associative_heterogeneous_erasure >= 202110L</code> </td></tr><tr><td colspan="4" align="left"> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_associative_heterogeneous_erasure >= 202110L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code"><flat_map></code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0429r9.pdf" target="_top"> + P0429R9 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_flat_map >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code"><flat_set></code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1222r4.pdf" target="_top"> + P1222R4 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_flat_set >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">mdspan</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0009r18.html" target="_top"> + P0009R18 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_mdspan >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> + <code class="code">index_type</code> & <code class="code">size_type</code> + in <code class="code">mdspan</code> + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2599r2.pdf" target="_top"> + P2599R2 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_mdspan >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> + <code class="code">mdspan</code>: rename <code class="code">pointer</code> and + <code class="code">contiguous</code> + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2604r0.html" target="_top"> + P2604R0 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_mdspan >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Add the missing <code class="code">empty</code> to <code class="code">mdspan</code> </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2613r1.html" target="_top"> + P2613R1 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_mdspan >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> + <code class="code">layout_stride</code> static extents default constructor fix + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2763r1.html" target="_top"> + P2763R1 + </a> + </td><td align="center"> </td><td align="left"> </td></tr><tr><td colspan="4" align="left"> + <span class="bold"><strong>Strings and text</strong></span> + </td></tr><tr><td align="left"> std::format improvements </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2216r3.html" target="_top"> + P2216R3 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_format >= 202106L</code> </td></tr><tr><td align="left"> + Add support for <code class="code">std::generator</code>-like types to + <code class="code">std::format</code> + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2418r2.html" target="_top"> + P2418R2 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_format >= 202110L</code> </td></tr><tr><td align="left"> + Expose <code class="code">std::<span class="emphasis"><em>basic-format-string</em></span><charT, Args...></code> + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2508r1.html" target="_top"> + P2508R1 + </a> + </td><td align="center"> 13.1 (feature test macro not defined)</td><td align="left"> <code class="code">__cpp_lib_format >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> + Clarify handling of encodings in localized formatting of chrono types + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2419r2.html" target="_top"> + P2419R2 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_format >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Formatting Ranges </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2286r8.html" target="_top"> + P2286R8 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_format_ranges >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Improve default container formatting </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2585r1.html" target="_top"> + P2585R1 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_format_ranges >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Formatted output </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2093r14.html" target="_top"> + P2093R14 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_print >= 202207L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> + Should the output of std::print to a terminal be synchronized with + the underlying stream? + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2539r3.html" target="_top"> + P2539R3 + </a> + </td><td align="center"> </td><td align="left"> </td></tr><tr><td align="left"> + Formatting <code class="code">thread::id</code> and <code class="code">stacktrace</code> + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2693r1.pdf" target="_top"> + P2693R1 + </a> + </td><td align="center"> 14.1 </td><td align="left"> <code class="code">__cpp_lib_formatters >= 202302L</code> </td></tr><tr><td align="left"> + Add Constexpr Modifiers to Functions <code class="code">to_chars</code> and + <code class="code">from_chars</code> for Integral Types in + <code class="code"><charconv></code> Header + </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2291r3.pdf" target="_top"> + P2291R3 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_charconv >= 202207L</code> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Miscellaneous</strong></span> </td></tr><tr><td align="left"> Inheriting from <code class="code">std::variant</code> </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2162r2.html" target="_top"> @@ -1876,11 +2051,21 @@ or any notes about the implementation. <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0323r12.html" target="_top"> P0323R12 </a> - </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_expected >= 202202L</code> </td></tr><tr><td align="left"> Monadic operations for std::optional </td><td align="left"> + </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_expected >= 202202L</code> </td></tr><tr><td align="left"> Monadic operations for std::expected </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2505r5.html" target="_top"> + P2505R5 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_expected >= 202211L</code> </td></tr><tr><td align="left"> Monadic operations for std::optional </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0798r8.html" target="_top"> P0798R8 </a> - </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_optional >= 202110L</code> </td></tr><tr><td align="left"> <code class="code">move_only_function</code> </td><td align="left"> + </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_optional >= 202110L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> + Compatibility between <code class="code">tuple</code>, <code class="code">pair</code> + and <span class="emphasis"><em>tuple-like</em></span> objects </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2165r4.pdf" target="_top"> + P2165R4 + </a> + </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_tuple_like >= 202207L</code> </td></tr><tr><td align="left"> <code class="code">move_only_function</code> </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0288r9.html" target="_top"> P0288R9 </a> @@ -1900,7 +2085,15 @@ or any notes about the implementation. <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2401r0.html" target="_top"> P2401R0 </a> - </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td align="left"> Support C atomics in C++ </td><td align="left"> + </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td align="left"> A more constexpr bitset </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2417r2.pdf" target="_top"> + P2417R2 + </a> + </td><td align="center"> 13.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_bitset >= 202207L</code> </td></tr><tr><td align="left"> Extended floating-point types and standard names </td><td align="left"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1467r9.html" target="_top"> + P1467R9 + </a> + </td><td align="center"> 13.1 </td><td align="left"> </td></tr><tr><td align="left"> Support C atomics in C++ </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0943r6.html" target="_top"> P0943R6 </a> |