diff --git a/libstdc++-v3/doc/html/manual/configure.html b/libstdc++-v3/doc/html/manual/configure.html index c81e5993b08713cd319cee17c3674b27804f22ef..346b5d345cd1ba1360f17bfd2046a848e16f03bf 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 d046bd2de4768a70e7a67cbfc0f3d613d16157b2..00a7c2556f3e2d1f3cc79bb19eb323e109740815 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> diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml index 1b8c37ce2a913f642bb51e3ef92fe612104f63f0..0a477ab85e59dfbd4ed83e856d3bfba87c647608 100644 --- a/libstdc++-v3/doc/xml/manual/configure.xml +++ b/libstdc++-v3/doc/xml/manual/configure.xml @@ -341,8 +341,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> - --include bits/stdc++.h </code> to CXXFLAGS) when running the + In addition, this generated file is used later on (by appending + <code>-include bits/stdc++.h</code> to CXXFLAGS) when running the testsuite. </para> </listitem></varlistentry> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml index da911169cc8e2417cf85c42e68b1c0f6fc5808fa..6e560069cbc582dce21f8a6dab19bbd2ea80b919 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2020.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2020.xml @@ -251,14 +251,13 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#B0B0B0" ?> <entry> Improving Completeness Requirements for Type Traits </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1285r0.pdf"> P1285R0 </link> </entry> - <entry align="center"> Partial </entry> - <entry /> + <entry align="center"> — </entry> + <entry> Most misuses are diagnosed, but not all. </entry> </row> <row> @@ -541,13 +540,12 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Avoid template bloat for <code>safe_ranges</code> in combination with ‘subrange-y’ view adaptors.</entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1739r4.html"> P1739R4 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> 12.1 </entry> <entry /> </row> @@ -559,18 +557,16 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Extending chrono to Calendars and Time Zones </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html"> P0355R7 </link> </entry> - <entry/> + <entry> 14.1 (see Note 2) </entry> <entry> <code>__cpp_lib_chrono >= 201803L</code> </entry> </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Miscellaneous minor fixes for chrono </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1466r3.html"> @@ -667,39 +663,36 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Text formatting </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html"> P0645R10 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> 13.1 </entry> <entry> <code>__cpp_lib_format >= 201907L</code> </entry> </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Integration of chrono with text formatting </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1361r2.pdf"> P1361R2 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> 13.1 </entry> <entry> <code>__cpp_lib_format >= 201907L</code> </entry> </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Printf corner cases in <code>std::format</code> </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1652r1.html"> P1652R1 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> 13.1 </entry> <entry> <code>__cpp_lib_format >= 201907L</code> </entry> @@ -716,13 +709,12 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Update The Reference To The Unicode Standard </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1025r1.html"> P1025R1 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> —</entry> <entry /> </row> @@ -796,13 +788,12 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Comparing Unordered Containers </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0809r0.pdf"> P0809R0 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> — </entry> <entry /> </row> @@ -1039,7 +1030,7 @@ or any notes about the implementation. P0551R3 </link> </entry> <entry align="center"> </entry> - <entry /> + <entry>These changes will not be implemented.</entry> </row> <row> @@ -1113,13 +1104,12 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Standard Library Specification in a Concepts and Contracts World </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0788r3.pdf"> P0788R3 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> — </entry> <entry /> </row> @@ -1244,13 +1234,12 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Cleaning up Clause 20 </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1148r0.pdf"> P1148R0 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> — </entry> <entry /> </row> @@ -1341,7 +1330,6 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> Mandating the Standard Library: Clause 22 - Iterators library @@ -1350,7 +1338,7 @@ or any notes about the implementation. <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1464r1.pdf"> P1464R1 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> — </entry> <entry /> </row> @@ -1459,4 +1447,10 @@ Note 1: This feature is supported in older releases but the (or not defined at all) until the version shown in parentheses. </para> +<para> +Note 2: The C++20 calendar types are supported since 11.1, +time zones and UTC are supported since 13.1, +and <function>chrono::parse</function> is supported since 14.1. +</para> + </section> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml index f23c64d6a29effdbcb8a87208de74b0c45147312..9d121af82dfdcfc89320d4ede17ac7ce8cbceb4e 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx2023.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx2023.xml @@ -187,17 +187,207 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> <entry> <code>zip</code> </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2321r2.html"> P2321R2 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> 13.1 </entry> <entry> <code>__cpp_lib_ranges_zip >= 202110L</code> </entry> </row> + <row> + <entry> <code>views::repeat</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2474r2.html"> + P2474R2 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_repeat >= 202207L</code> </entry> + </row> + + <row> + <entry> <code>views::enumerate</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2164r9.pdf"> + P2164R9 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_enumerate >= 202302L</code> </entry> + </row> + + <row> + <entry> <code>views::join_with</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2441r2.html"> + P2441R2 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_join_with >= 202202L</code> </entry> + </row> + + <row> + <entry> + Windowing range adaptors: <code>views::chunk</code> + and <code>views::slide</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2442r2.html"> + P2442R2 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_slide >= 202202L</code> </entry> + </row> + + <row> + <entry> <code>views::chunk_by</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2443r1.html"> + P2443R1 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_chunk_by >= 202202L</code> </entry> + </row> + + <row> + <entry> <code>views::stride</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1899r3.html"> + P1899R3 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_stride >= 202207L</code> </entry> + </row> + + <row> + <entry> <code>views::cartesian_product</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2374r4.html"> + P2374R4 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_cartesian_product >= 202207L</code> </entry> + </row> + + <row> + <entry> Empty Product for certain Views </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2540r1.html"> + P2540R1 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_cartesian_product >= 202207L</code> </entry> + </row> + + <row> + <entry> <code>views::as_rvalue</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2446r2.html"> + P2446R2 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_as_rvalue >= 202207L</code> </entry> + </row> + + <row> + <entry> + <code>cbegin</code> should always return a constant iterator + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2278r4.html"> + P2278R4 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_as_const >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> <code>ranges::to</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1206r7.pdf"> + P1206R7 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_ranges_to_container >= 202202L</code> </entry> + </row> + + <row> + <entry> Pipe support for user-defined range adaptors </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2387r3.html"> + P2387R3 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> + <code>__cpp_lib_bind_pack >= 202202L</code>, + <code>__cpp_lib_ranges >= 202202L</code> + </entry> + </row> + + <row> + <?dbhtml bgcolor="#B0B0B0" ?> + <entry> + <code>ranges::iota</code>, <code>ranges::shift_left</code>, + and <code>ranges::shift_right</code> + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2440r1.html"> + P2440R1 + </link> + </entry> + <entry align="center"> 13.1 (<code>ranges::iota</code>) </entry> + <entry> + <code>__cpp_lib_ranges_iota >= 202202L</code>, + <code>__cpp_lib_shift >= 202202L</code> + </entry> + </row> + + <row> + <entry> <code>ranges::find_last</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1223r5.pdf"> + P1223R5 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_find_last >= 202207L</code> </entry> + </row> + + <row> + <entry> <code>ranges::contains</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2302r4.html"> + P2302R4 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_contains >= 202207L</code> </entry> + </row> + + <row> + <entry> <code>ranges::fold</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2322r6.html"> + P2322R6 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_ranges_fold >= 202207L</code> </entry> + </row> + <row> <entry namest="c1" nameend="c4" align="left"> <emphasis role="bold">Compile-time programming</emphasis> @@ -294,14 +484,14 @@ or any notes about the implementation. </row> <row> - <?dbhtml bgcolor="#C8B0B0" ?> + <?dbhtml bgcolor="#B0B0B0" ?> <entry> A type trait to detect reference binding to temporary </entry> <entry> <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2255r2.html"> P2255R2 </link> </entry> - <entry align="center"> </entry> + <entry align="center"> 13.1 (missing changes to <code>std::tuple</code> </entry> <entry> <code>__cpp_lib_reference_from_temporary >= 202202L</code> </entry> </row> @@ -395,6 +585,235 @@ or any notes about the implementation. <entry> <code>__cpp_lib_associative_heterogeneous_erasure >= 202110L</code> </entry> </row> + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> <code><flat_map></code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0429r9.pdf"> + P0429R9 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_flat_map >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> <code><flat_set></code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1222r4.pdf"> + P1222R4 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_flat_set >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> <code>mdspan</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0009r18.html"> + P0009R18 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_mdspan >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> + <code>index_type</code> & <code>size_type</code> + in <code>mdspan</code> + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2599r2.pdf"> + P2599R2 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_mdspan >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> + <code>mdspan</code>: rename <code>pointer</code> and + <code>contiguous</code> + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2604r0.html"> + P2604R0 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_mdspan >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> Add the missing <code>empty</code> to <code>mdspan</code> </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2613r1.html"> + P2613R1 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_mdspan >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> + <code>layout_stride</code> static extents default constructor fix + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2763r1.html"> + P2763R1 + </link> + </entry> + <entry align="center"> </entry> + <entry/> + </row> + + <row> + <entry namest="c1" nameend="c4" align="left"> + <emphasis role="bold">Strings and text</emphasis> + </entry> + </row> + + <row> + <entry> std::format improvements </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2216r3.html"> + P2216R3 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_format >= 202106L</code> </entry> + </row> + + <row> + <entry> + Add support for <code>std::generator</code>-like types to + <code>std::format</code> + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2418r2.html"> + P2418R2 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_format >= 202110L</code> </entry> + </row> + + <row> + <entry> + Expose <code>std::<emphasis>basic-format-string</emphasis><charT, Args...></code> + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2508r1.html"> + P2508R1 + </link> + </entry> + <entry align="center"> 13.1 (feature test macro not defined)</entry> + <entry> <code>__cpp_lib_format >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> + Clarify handling of encodings in localized formatting of chrono types + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2419r2.html"> + P2419R2 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_format >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> Formatting Ranges </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2286r8.html"> + P2286R8 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_format_ranges >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> Improve default container formatting </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2585r1.html"> + P2585R1 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_format_ranges >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> Formatted output </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2093r14.html"> + P2093R14 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_print >= 202207L</code> </entry> + </row> + + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> + Should the output of std::print to a terminal be synchronized with + the underlying stream? + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2539r3.html"> + P2539R3 + </link> + </entry> + <entry align="center"> </entry> + <entry/> + </row> + + <row> + <entry> + Formatting <code>thread::id</code> and <code>stacktrace</code> + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2693r1.pdf"> + P2693R1 + </link> + </entry> + <entry align="center"> 14.1 </entry> + <entry> <code>__cpp_lib_formatters >= 202302L</code> </entry> + </row> + + <row> + <entry> + Add Constexpr Modifiers to Functions <code>to_chars</code> and + <code>from_chars</code> for Integral Types in + <code><charconv></code> Header + </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2291r3.pdf"> + P2291R3 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_constexpr_charconv >= 202207L</code> </entry> + </row> + <row> <entry namest="c1" nameend="c4" align="left"> <emphasis role="bold">Miscellaneous</emphasis> @@ -456,6 +875,17 @@ or any notes about the implementation. <entry> <code>__cpp_lib_expected >= 202202L</code> </entry> </row> + <row> + <entry> Monadic operations for std::expected </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2505r5.html"> + P2505R5 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_expected >= 202211L</code> </entry> + </row> + <row> <entry> Monadic operations for std::optional </entry> <entry> @@ -467,6 +897,20 @@ or any notes about the implementation. <entry> <code>__cpp_lib_optional >= 202110L</code> </entry> </row> + <row> + <?dbhtml bgcolor="#C8B0B0" ?> + <entry> + Compatibility between <code>tuple</code>, <code>pair</code> + and <emphasis>tuple-like</emphasis> objects </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2165r4.pdf"> + P2165R4 + </link> + </entry> + <entry align="center"> </entry> + <entry> <code>__cpp_lib_tuple_like >= 202207L</code> </entry> + </row> + <row> <entry> <code>move_only_function</code> </entry> <entry> @@ -522,6 +966,28 @@ or any notes about the implementation. <entry /> </row> + <row> + <entry> A more constexpr bitset </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2417r2.pdf"> + P2417R2 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry> <code>__cpp_lib_constexpr_bitset >= 202207L</code> </entry> + </row> + + <row> + <entry> Extended floating-point types and standard names </entry> + <entry> + <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1467r9.html"> + P1467R9 + </link> + </entry> + <entry align="center"> 13.1 </entry> + <entry/> + </row> + <row> <entry> Support C atomics in C++ </entry> <entry>