diff options
author | Gerald Pfeifer <gerald@pfeifer.com> | 2023-01-15 23:34:54 +0100 |
---|---|---|
committer | Gerald Pfeifer <gerald@pfeifer.com> | 2023-01-15 23:43:06 +0100 |
commit | b1c2182bd9d129aab4679e4f864529ee9117fb70 (patch) | |
tree | 7e6b36d3c7e962c6c329edaf9d7173a537888ce3 /libstdc++-v3/doc/html | |
parent | 05cd79c2420d3fe6d84bad694d9808982112b0f0 (diff) | |
download | gcc-b1c2182bd9d129aab4679e4f864529ee9117fb70.zip gcc-b1c2182bd9d129aab4679e4f864529ee9117fb70.tar.gz gcc-b1c2182bd9d129aab4679e4f864529ee9117fb70.tar.bz2 |
libstdc++: Move www.open-std.org in status part of manual to https
libstdc++-v3/ChangeLog:
2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
https.
* doc/xml/manual/status_cxx2017.xml: Ditto.
* doc/xml/manual/status_cxx2020.xml: Ditto.
* doc/xml/manual/status_cxx2023.xml: Ditto.
* doc/html/manual/status.html: Regenerate.
Diffstat (limited to 'libstdc++-v3/doc/html')
-rw-r--r-- | libstdc++-v3/doc/html/manual/status.html | 506 |
1 files changed, 253 insertions, 253 deletions
diff --git a/libstdc++-v3/doc/html/manual/status.html b/libstdc++-v3/doc/html/manual/status.html index c1d7f68..47bb078 100644 --- a/libstdc++-v3/doc/html/manual/status.html +++ b/libstdc++-v3/doc/html/manual/status.html @@ -498,19 +498,19 @@ not in any particular release. </td><td colspan="3" align="left"> <span class="emphasis"><em>Compatibility features</em></span> </td></tr><tr><td align="left">D.1</td><td align="left">Increment operator with <code class="code">bool</code> operand</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.2</td><td align="left"><code class="code">register</code> keyword</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.3</td><td align="left">Implicit declaration of copy functions</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.4</td><td align="left">Dynamic exception specifications</td><td align="left"> </td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left">Old iostreams members</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left"><code class="code">char*</code> streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Function objects</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left">Binders</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left"><code class="code">auto_ptr</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.11</td><td align="left">Violating exception-specifications</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.12</td><td align="left">Random shuffle</td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="table.ts_status"></a><p class="title"><strong>Table 1.4. C++ Technical Specifications Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ Technical Specifications Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr bgcolor="#C8B0B0"><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3662.html" target="_top"> + <a class="link" href="https://www.open-std.org/JTC1/sc22/WG21/docs/papers/2013/n3662.html" target="_top"> N3662 </a> </td><td align="left">C++ Dynamic Arrays</td><td align="left">N</td><td align="left">Array Extensions TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3793.html" target="_top"> + <a class="link" href="https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3793.html" target="_top"> N3793 </a> </td><td align="left">A proposal to add a utility class to represent optional objects</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3804.html" target="_top"> + <a class="link" href="https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3804.html" target="_top"> N3804 </a> </td><td align="left">Any library proposal</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr bgcolor="#C8B0B0"><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3866.html" target="_top"> + <a class="link" href="https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n3866.html" target="_top"> N3866 </a> </td><td align="left">Invocation type traits, but dropping function_call_operator.</td><td align="left">N</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> @@ -518,31 +518,31 @@ not in any particular release. N3905 </a> </td><td align="left">Faster string searching (Boyer-Moore et al.)</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3915.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3915.pdf" target="_top"> N3915 </a> </td><td align="left">apply() call a function with arguments from a tuple</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr bgcolor="#B0B0B0"><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3916.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3916.pdf" target="_top"> N3916 </a> </td><td align="left">Polymorphic memory resources</td><td align="left">Partial (missing pool resource and buffer resource classes)</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3920.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3920.html" target="_top"> N3920 </a> </td><td align="left">Extending shared_ptr to support arrays</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html" target="_top"> N3921 </a> </td><td align="left"><code class="code">string_view</code>: a non-owning reference to a string</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3925.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3925.pdf" target="_top"> N3925 </a> </td><td align="left">A sample proposal</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3932.htm" target="_top"> N3932 </a> </td><td align="left">Variable Templates For Type Traits</td><td align="left">Y</td><td align="left">Library Fundamentals TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf" target="_top"> N4100 </a> </td><td align="left">File System</td><td align="left">Y</td><td align="left"> @@ -592,69 +592,69 @@ Feature-testing recommendations for C++</a>. </p><div class="table"><a id="table.cxx17_features"></a><p class="title"><strong>Table 1.5. C++ 2017 Library Features</strong></p><div class="table-contents"><table class="table" summary="C++ 2017 Library Features" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Library Feature</th><th align="left">Proposal</th><th align="left">Status</th><th align="left">SD-6 Feature Test</th></tr></thead><tbody><tr><td align="left"> <code class="code">constexpr std::hardware_{constructive,destructive}_interference_size</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0154r1.html" target="_top"> P0154R1 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_hardware_interference_size >= 201603</code> </td></tr><tr><td align="left"> Core Issue 1776: Replacement of class objects containing reference members</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0137r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0137r1.html" target="_top"> P0137R1 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__cpp_lib_launder >= 201606</code> </td></tr><tr><td align="left">Wording for <code class="code">std::uncaught_exceptions</code></td><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n4259.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n4259.pdf" target="_top"> N4259 </a> </td><td align="center">6.1</td><td align="left"><code class="code">__cpp_lib_uncaught_exceptions >= 201411</code></td></tr><tr><td align="left"> C++17 should refer to C11 instead of C99 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0063r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0063r3.html" target="_top"> P0063R3 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> Variant: a type-safe union for C++17 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0088r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0088r3.html" target="_top"> P0088R3 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__has_include(<variant>)</code>, <code class="code">__cpp_lib_variant >= 201603</code> (since 7.3, see Note 1) </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: <code class="code">optional</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> P0220R1 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__has_include(<optional>)</code>, <code class="code">__cpp_lib_optional >= 201603</code> (since 7.3, see Note 1) </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: <code class="code">any</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> P0220R1 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__has_include(<any>)</code>, <code class="code">__cpp_lib_any >= 201603</code> (since 7.3, see Note 1) </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: <code class="code">string_view</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> P0220R1 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__has_include(<string_view>)</code>, <code class="code">__cpp_lib_string_view >= 201603</code> (since 7.3, see Note 1) </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: <code class="code">memory_resource</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> P0220R1 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__has_include(<memory_resource>)</code>, <code class="code">__cpp_lib_memory_resource >= 201603</code> </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: <code class="code">apply</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> P0220R1 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__cpp_lib_apply >= 201603</code> </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: <code class="code">shared_ptr<T[]></code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> P0220R1 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__cpp_lib_shared_ptr_arrays >= 201603</code> </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: Searchers </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> P0220R1 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__cpp_lib_boyer_moore_searcher >= 201603</code> </td></tr><tr><td align="left"> Library Fundamentals V1 TS Components: Sampling </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0220r1.html" target="_top"> P0220R1 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code">__cpp_lib_sample >= 201603</code> </td></tr><tr><td align="left"> Constant View: A proposal for a <code class="code">std::as_const</code> helper function template </td><td align="left"> @@ -662,160 +662,160 @@ Feature-testing recommendations for C++</a>. P0007R1 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_as_const >= 201510 </code></td></tr><tr><td align="left"> Improving pair and tuple </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387" target="_top"> N4387 </a> </td><td align="center"> 6.1 </td><td align="left"> N/A </td></tr><tr><td align="left"> <code class="code">make_from_tuple</code>: apply for construction </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0209r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0209r2.pdf" target="_top"> P0209R2 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_make_from_tuple >= 201606 </code></td></tr><tr bgcolor="#C8B0B0"><td align="left"> Removing <code class="code">auto_ptr</code>, <code class="code">random_shuffle()</code>, And Old <code class="code"><functional></code> Stuff </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4190.htm" target="_top"> N4190 </a> </td><td align="center">No (kept for backwards compatibility)</td><td align="left"> </td></tr><tr><td align="left"> Deprecating Vestigial Library Parts in C++17 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html" target="_top"> P0174R2 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td align="left"> Making <code class="code">std::owner_less</code> more flexible </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0074r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0074r0.html" target="_top"> P0074R0 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_transparent_operators >= 201510 </code></td></tr><tr><td align="left"> <code class="code">std::addressof</code> should be constexpr </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0304r0.html#2296" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0304r0.html#2296" target="_top"> LWG2296 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_addressof_constexpr >= 201603 </code></td></tr><tr><td align="left"> Safe conversions in <code class="code">unique_ptr<T[]></code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4089.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4089.pdf" target="_top"> N4089 </a> </td><td align="center"> 6 </td><td align="left"> </td></tr><tr><td align="left"> LWG 2228: Missing SFINAE rule in unique_ptr templated assignment </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4366.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4366.html" target="_top"> N4366 </a> </td><td align="center"> 6 </td><td align="left"> </td></tr><tr><td align="left"> Re-enabling <code class="code">shared_from_this</code></td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0033r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0033r1.html" target="_top"> P0033R1 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code">__cpp_lib_enable_shared_from_this >= 201603</code></td></tr><tr><td align="left"> A proposal to add <code class="code">invoke</code> function template </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4169.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4169.html" target="_top"> N4169 </a> </td><td align="center"> 6.1 </td><td align="left"><code class="code"> __cpp_lib_invoke >= 201411 </code></td></tr><tr><td align="left">TriviallyCopyable <code class="code">reference_wrapper</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4277.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4277.html" target="_top"> N4277 </a> </td><td align="center"> 5.1 </td><td align="left"> </td></tr><tr><td align="left"> Adopt <code class="code">not_fn</code> from Library Fundamentals 2 for C++17 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0005r4.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0005r4.html" target="_top"> P0005R4 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code">__cpp_lib_not_fn >= 201603</code></td></tr><tr><td align="left"> Fixes for <code class="code">not_fn</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0358r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0358r1.html" target="_top"> P0358R1 </a> </td><td align="center"> 7.1 </td><td align="left"> </td></tr><tr><td align="left"> Fixing a design mistake in the searchers interface in Library Fundamentals </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0253r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0253r1.pdf" target="_top"> P0253R1 </a> </td><td align="center"> 7.1 </td><td align="left"> </td></tr><tr><td align="left"> Extending memory management tools </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0040r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0040r3.html" target="_top"> P0040R3 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code">__cpp_lib_raw_memory_algorithms >= 201606L</code></td></tr><tr><td align="left"> <code class="code">shared_ptr::weak_type</code></td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0163r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0163r0.html" target="_top"> P0163R0 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_shared_ptr_weak_type >= 201606</code></td></tr><tr><td align="left">Transformation Trait Alias <code class="code">void_t</code></td><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n3911.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/JTC1/sc22/WG21/docs/papers/2014/n3911.pdf" target="_top"> N3911 </a> </td><td align="center">6.1</td><td align="left"><code class="code"> __cpp_lib_void_t >= 201411</code></td></tr><tr><td align="left"> Wording for <code class="code">bool_constant</code>, revision 1 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4389.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4389.html" target="_top"> N4389 </a> </td><td align="center">6.1</td><td align="left"><code class="code"> __cpp_lib_bool_constant >= 201505</code></td></tr><tr><td align="left"> Adopt Type Traits Variable Templates from Library Fundamentals TS for C++17</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0006r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0006r0.html" target="_top"> P0006R0 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_type_trait_variable_templates >= 201510 </code></td></tr><tr><td align="left"> Logical Operator Type Traits</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0013r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0013r1.html" target="_top"> P0013R1 </a> </td><td align="center"> 6.1 </td><td align="left"><code class="code"> __cpp_lib_logical_traits >= 201510 </code></td></tr><tr><td align="left"> Adding [nothrow-]swappable traits </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0185r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0185r1.html" target="_top"> P0185R1 </a> </td><td align="center"> 7.1 (<code class="code">__is_swappable</code> available since 6.1)</td><td align="left"><code class="code"> __cpp_lib_is_swappable >= 201603 </code></td></tr><tr><td align="left"> <code class="code">is_callable</code>, the missing INVOKE related trait</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0077r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0077r2.html" target="_top"> P0077R2 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_is_invocable >= 201703 </code></td></tr><tr><td align="left"> has_unique_object_representations </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0258r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0258r2.html" target="_top"> P0258R2 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_has_unique_object_representations >= 201606 </code></td></tr><tr><td align="left"> Polishing <code class="code"><chrono></code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0092r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0092r1.html" target="_top"> P0092R1 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_chrono >= 201510 </code></td></tr><tr><td align="left"> Adding more constexpr to <code class="code"><chrono></code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0505r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0505r0.html" target="_top"> P0505R0 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_chrono >= 201611 </code> (since 7.3, see Note 2) </td></tr><tr><td align="left"> Constexpr for <code class="code">std::char_traits</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0426r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0426r1.html" target="_top"> P0426R1 </a> </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __cpp_lib_constexpr_string >= 201611 </code></td></tr><tr><td align="left"> Integrating <code class="code">std::string_view</code> and <code class="code">std::string</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0254r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0254r2.pdf" target="_top"> P0254R2 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> </code></td></tr><tr><td align="left"> Give 'std::string' a non-const '.data()' member function </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0272r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0272r1.html" target="_top"> P0272R1 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> </code></td></tr><tr><td align="left">Cleaning-up noexcept in the Library</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4258.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4258.pdf" target="_top"> N4258 </a> </td><td align="center">6.1</td><td align="left"><code class="code"> __cpp_lib_allocator_traits_is_always_equal >= 201411 </code></td></tr><tr><td align="left">Contiguous Iterators </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4284.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4284.html" target="_top"> N4284 </a> </td><td align="center">N/A</td><td align="left"> </td></tr><tr><td align="left"> Minimal incomplete type support for standard containers </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510.html" target="_top"> N4510 </a> </td><td align="center"> 3.0 </td><td align="left"><code class="code"> __cpp_lib_incomplete_container_elements >= 201505 </code> (since 6.2, see Note 2) </td></tr><tr><td align="left"> Emplace return type </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0084r2.pdf" target="_top"> P0084R2 </a> </td><td align="center"> 7.1 </td><td align="left"> </td></tr><tr><td align="left">Improved insertion interface for unique-key maps</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4279.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4279.html" target="_top"> N4279 </a> </td><td align="center"> 6.1 </td><td align="left"><code class="code"> __cpp_lib_map_try_emplace >= 201411</code>, <code class="code"> __cpp_lib_unordered_map_try_emplace >= 201411</code> </td></tr><tr><td align="left"> Splicing Maps and Sets </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0083r3.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0083r3.pdf" target="_top"> P0083R3 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_node_extract >= 201606 </code></td></tr><tr><td align="left">Non-member <code class="code">size()</code> and more</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4280.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4280.pdf" target="_top"> N4280 </a> </td><td align="center"> 6.1 </td><td align="left"><code class="code"> __cpp_lib_nonmember_container_access >= 201411 </code></td></tr><tr><td align="left"> A Proposal to Add Constexpr Modifiers to <code class="code">reverse_iterator</code>, <code class="code">move_iterator</code>, <code class="code">array</code> and Range Access </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0031r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0031r0.html" target="_top"> P0031R0 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_array_constexpr >= 201603 </code></td></tr><tr bgcolor="#B0B0B0"><td align="left"> The Parallelism TS Should be Standardized </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0024r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0024r2.html" target="_top"> P0024R2 </a> </td><td align="center"> 9.1 </td><td align="left"><code class="code"> __has_include(<execution>)</code>, @@ -823,66 +823,66 @@ Feature-testing recommendations for C++</a>. <code class="code"> __cpp_lib_parallel_algorithm >= 201603 </code> (requires linking with <code class="code">-ltbb</code>, see Note 3) </td></tr><tr><td align="left"> An algorithm to "clamp" a value between a pair of boundary values </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0025r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0025r0.html" target="_top"> P0025R0 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_clamp >= 201603 </code></td></tr><tr><td align="left"> Adopt Selected Library Fundamentals V2 Components for C++17 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0295r0.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0295r0.pdf" target="_top"> P0295R0 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_gcd_lcm >= 201606 </code></td></tr><tr><td align="left"> Proposal to Introduce a 3-Argument Overload to <code class="code">std::hypot</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0030r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0030r1.pdf" target="_top"> P0030R1 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_hypot >= 201603 </code></td></tr><tr><td align="left"> Mathematical Special Functions for C++17 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0226r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0226r1.pdf" target="_top"> P0226R1 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_math_special_functions >= 201603 </code> (see Note 4) </td></tr><tr><td align="left">Adopt the File System TS for C++17 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0218r1.html" target="_top"> P0218R1 </a> </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __has_include(<filesystem>)</code>, <code class="code"> __cpp_lib_filesystem >= 201603 </code> (GCC 8.x requires linking with <code class="code">-lstdc++fs</code>) </td></tr><tr><td align="left"> Relative Paths for Filesystem</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0219r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0219r1.html" target="_top"> P0219R1 </a> </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __cpp_lib_filesystem >= 201606 </code></td></tr><tr><td align="left"> Adapting string_view by filesystem paths </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0392r0.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0392r0.pdf" target="_top"> P0392R0 </a> </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __cpp_lib_filesystem >= 201606 </code></td></tr><tr><td align="left"> Directory Entry Caching for Filesystem </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0317r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0317r1.html" target="_top"> P0317R1 </a> </td><td align="center"> 8.1 </td><td align="left"><code class="code"> __cpp_lib_filesystem >= 201703 </code></td></tr><tr><td align="left"> constexpr <code class="code">atomic<T>::is_always_lock_free</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0152r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0152r1.html" target="_top"> P0152R1 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_atomic_is_always_lock_free >= 201603 </code></td></tr><tr><td align="left">A proposal to add <code class="code">shared_mutex</code> (untimed) (Revision 4)</td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4508.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4508.html" target="_top"> N4508 </a> </td><td align="center"> 6.1 </td><td align="left"><code class="code"> __cpp_lib_shared_mutex >= 201505 </code></td></tr><tr><td align="left"> Variadic <code class="code">lock_guard</code> (Rev. 5) </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0156r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0156r2.html" target="_top"> P0156R2 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_scoped_lock >= 201703 </code></td></tr><tr><td align="left"> A byte type definition </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0298r3.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0298r3.pdf" target="_top"> P0298R3 </a> </td><td align="center"> 7.1 </td><td align="left"><code class="code"> __cpp_lib_byte >= 201603 </code> (since 7.3, see Note 2) </td></tr><tr><td align="left"> Elementary string conversions </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0067r5.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0067r5.html" target="_top"> P0067R5 </a> </td><td align="center"> 11.1 (integral types supported since 8.1) </td><td align="left"><code class="code"> __has_include(<charconv>)</code>, <code class="code"> __cpp_lib_to_chars >= 201611 </code></td></tr><tr><td align="left"> Homogeneous interface for variant, any and optional </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0032r3.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0032r3.pdf" target="_top"> P0032R3 </a> </td><td align="center"> 7.1 </td><td align="left"> @@ -890,7 +890,7 @@ Feature-testing recommendations for C++</a>. <code class="code"> __cpp_lib_optional >= 201606 </code>, <code class="code"> __cpp_lib_variant >= 201606 </code> </td></tr><tr><td align="left"> Making Optional Greater Equal Again </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0307r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0307r2.pdf" target="_top"> P0307R2 </a> </td><td align="center"> 7.1 </td><td align="left"> <code class="code"> __cpp_lib_optional >= 201606 </code> </td></tr></tbody></table></div></div><br class="table-break" /><p> @@ -975,43 +975,43 @@ since C++14 and the implementation is complete. </td><td colspan="3" align="left"> <span class="emphasis"><em>Compatibility features</em></span> </td></tr><tr><td align="left">D.4</td><td align="left">C++ standard library headers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.4.1</td><td align="left">Header <code class="code"><ccomplex></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.4.1</td><td align="left">Header <code class="code"><cstdalign></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.4.1</td><td align="left">Header <code class="code"><cstdbool></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.4.1</td><td align="left">Header <code class="code"><ctgmath></code> synopsis</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.5</td><td align="left">C standard library headers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.6</td><td align="left"><code class="code">char*</code> streams</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.7</td><td align="left"><code class="code">uncaught_exception</code></td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.8</td><td align="left">Old adaptable function bindings</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.9</td><td align="left">The default allocator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.10</td><td align="left">Raw storage iterator</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.11</td><td align="left">Temporary buffers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.12</td><td align="left">Deprecated type traits</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.13</td><td align="left">Deprecated iterator primitives</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.14</td><td align="left">Deprecated <code class="code">shared_ptr</code> observers</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.15</td><td align="left">Deprecated standard code conversion facets</td><td align="left">Y</td><td align="left"> </td></tr><tr><td align="left">D.16</td><td align="left">Deprecated convenience conversion interfaces</td><td align="left">Y</td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><div class="table"><a id="table.cxx17_ts_status"></a><p class="title"><strong>Table 1.7. C++ Technical Specifications Implementation Status</strong></p><div class="table-contents"><table class="table" summary="C++ Technical Specifications Implementation Status" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Paper</th><th align="left">Title</th><th align="left">Status</th><th align="left">Comments</th></tr></thead><tbody><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4076.html" target="_top"> + <a class="link" href="https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4076.html" target="_top"> N4076 </a> </td><td align="left">A generalized callable negator</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4273.htm" target="_top"> + <a class="link" href="https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4273.htm" target="_top"> N4273 </a> </td><td align="left">Uniform Container Erasure</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4061.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4061.pdf" target="_top"> N4061 </a> </td><td align="left">Greatest Common Divisor and Least Common Multiple</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4066.htm" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4066.htm" target="_top"> N4066 </a> </td><td align="left">Delimited iterators</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4282.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4282.pdf" target="_top"> N4282 </a> </td><td align="left">The World's Dumbest Smart Pointer</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4388.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4388.html" target="_top"> N4388 </a> </td><td align="left">Const-Propagating Wrapper</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4391.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4391.html" target="_top"> N4391 </a> </td><td align="left"> <code class="code">make_array</code>, revision 4 </td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4502.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4502.pdf" target="_top"> N4502 </a> </td><td align="left"> Support for the C++ Detection Idiom, V2 </td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4519.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4519.pdf" target="_top"> N4519 </a> </td><td align="left"> Source-Code Information Capture </td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr bgcolor="#C8B0B0"><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4521.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4521.html" target="_top"> N4521 </a> </td><td align="left"> Merge Fundamentals V1 into V2 </td><td align="left"> @@ -1022,11 +1022,11 @@ since C++14 and the implementation is complete. P0013R1 </a> </td><td align="left">Logical Operator Type Traits (revision 1)</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4531.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4531.html" target="_top"> N4531 </a> </td><td align="left">std::rand replacement, revision 3</td><td align="left">Y</td><td align="left">Library Fundamentals 2 TS</td></tr><tr><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0214r9.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0214r9.pdf" target="_top"> P0214R9 </a> </td><td align="left">Data-Parallel Types</td><td align="left">Y</td><td align="left">Parallelism 2 TS</td></tr></tbody></table></div></div><br class="table-break" /><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="iso.2017.specific"></a>Implementation Specific Behavior</h4></div></div></div><p>For behaviour which is also specified by previous standards, @@ -1271,441 +1271,441 @@ or any notes about the implementation. </p><div class="table"><a id="table.cxx20_features"></a><p class="title"><strong>Table 1.9. C++ 2020 Library Features</strong></p><div class="table-contents"><table class="table" summary="C++ 2020 Library Features" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Library Feature</th><th align="left">Proposal</th><th align="left">Status</th><th align="left">SD-6 Feature Test / Notes</th></tr></thead><tbody><tr><td colspan="4" align="left"> <span class="bold"><strong>Compile-time programming</strong></span> </td></tr><tr><td align="left"> Add constexpr modifiers to functions in <code class="code"><algorithm></code> and <code class="code"><utility></code> Headers </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0202r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0202r3.html" target="_top"> P0202R3 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_algorithms >= 201703L</code> </td></tr><tr><td align="left"> Constexpr for <code class="code">swap</code> and swap related functions </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0879r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0879r0.html" target="_top"> P0879R0 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_algorithms >= 201806L</code> </td></tr><tr><td align="left"> Constexpr for <code class="code">std::complex</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0415r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0415r1.html" target="_top"> P0415R1 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_complex >= 201711L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> <code class="code">std::is_constant_evaluated()</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0595r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0595r2.html" target="_top"> P0595R2 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_is_constant_evaluated >= 201811L</code> </td></tr><tr><td align="left"> More constexpr containers </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0784r7.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0784r7.html" target="_top"> P0784R7 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_dynamic_alloc >= 201907L</code> </td></tr><tr><td align="left"> Making <code class="code">std::string</code> constexpr </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0980r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0980r1.pdf" target="_top"> P0980R1 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_string >= 201907L</code> </td></tr><tr><td align="left"> Making <code class="code">std::vector</code> constexpr </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1004r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1004r2.pdf" target="_top"> P1004R2 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_vector >= 201907L</code> </td></tr><tr><td align="left"> Constexpr in <code class="code">std::pointer_traits</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1006r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1006r1.pdf" target="_top"> P1006R1 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_memory >= 201811L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> constexpr for <code class="code"><numeric></code> algorithms </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1645r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1645r1.html" target="_top"> P1645R1 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_numeric >= 201911L</code> </td></tr><tr><td align="left"> Constexpr iterator requirements </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0858r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0858r0.html" target="_top"> P0858R0 </a> </td><td align="center"> 9.1 </td><td align="left"> <div class="informaltable"><table class="informaltable" border="0"><colgroup><col /></colgroup><tbody><tr><td> <code class="code">__cpp_lib_array_constexpr >= 201803L</code> </td></tr><tr><td> <code class="code">__cpp_lib_string_view >= 201803L</code> </td></tr><tr><td> (both since 9.4, see Note 1) </td></tr></tbody></table></div> </td></tr><tr><td align="left"> <code class="code">constexpr</code> comparison operators for <code class="code">std::array</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1023r0.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1023r0.pdf" target="_top"> P1023R0 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_array_constexpr >= 201806</code> </td></tr><tr><td align="left"> Misc constexpr bits </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1032r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1032r1.html" target="_top"> P1032R1 </a> </td><td align="center"> 10.1 </td><td align="left"> <div class="informaltable"><table class="informaltable" border="0"><colgroup><col /></colgroup><tbody><tr><td> <code class="code">__cpp_lib_array_constexpr >= 201811L</code> </td></tr><tr><td> <code class="code">__cpp_lib_constexpr_functional >= 201811L</code> </td></tr><tr><td> <code class="code">__cpp_lib_constexpr_iterator >= 201811L</code> </td></tr><tr><td> <code class="code">__cpp_lib_constexpr_string_view >= 201811L</code> </td></tr><tr><td> <code class="code">__cpp_lib_constexpr_tuple >= 201811L</code> </td></tr><tr><td> <code class="code">__cpp_lib_constexpr_utility >= 201811L</code> </td></tr></tbody></table></div> </td></tr><tr><td align="left"> <code class="code">constexpr <span class="emphasis"><em>INVOKE</em></span></code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1065r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1065r2.html" target="_top"> P1065R2 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_functional >= 201907L</code> </td></tr><tr><td align="left"> Transformation Trait <code class="code">remove_cvref</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0550r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0550r2.pdf" target="_top"> P0550R2 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_remove_cvref >= 201711L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> Implicit conversion traits and utility functions </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0758r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0758r1.html" target="_top"> P0758R1 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_is_nothrow_convertible >= 201806L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> The <code class="code">identity</code> metafunction </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0887r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0887r1.pdf" target="_top"> P0887R1 </a> </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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0318r1.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1285r0.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1353r0.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0340r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0340r3.html" target="_top"> P0340R3 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> Traits for [Un]bounded Arrays </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1357r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1357r1.pdf" target="_top"> P1357R1 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_bounded_array_traits >= 201902L</code> </td></tr><tr><td align="left"> Layout-compatibility and pointer-interconvertibility traits </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0466r5.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0466r5.pdf" target="_top"> P0466R5 </a> </td><td align="center"> 12.1 </td><td align="left"> <div class="informaltable"><table class="informaltable" border="0"><colgroup><col /></colgroup><tbody><tr><td> <code class="code">__cpp_lib_is_layout_compatible >= 201907L</code> </td></tr><tr><td> <code class="code">__cpp_lib_is_pointer_interconvertible >= 201907L</code> </td></tr></tbody></table></div> </td></tr><tr><td align="left"> Integrating feature-test macros into the C++ WD </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0941r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0941r2.html" target="_top"> P0941R2 </a> </td><td align="center"> 5.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code"><version></code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0754r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0754r2.pdf" target="_top"> P0754R2 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__has_include(<version>)</code> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Synchronization</strong></span> </td></tr><tr><td align="left"> Atomic Ref </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0019r8.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0019r8.html" target="_top"> P0019R8 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_atomic_ref >= 201806L</code> </td></tr><tr><td align="left"> Floating Point Atomic </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html" target="_top"> P0020R6 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_atomic_float >= 201711L</code> </td></tr><tr><td align="left"> C++ Synchronized Buffered Ostream </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0053r7.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0053r7.pdf" target="_top"> P0053R7 </a> </td><td align="center"> 11.1 </td><td align="left"> <code class="code">__cpp_lib_syncbuf >= 201711L</code> </td></tr><tr><td align="left"> Manipulators for C++ Synchronized Buffered Ostream </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0753r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0753r2.pdf" target="_top"> P0753R2 </a> </td><td align="center"> 11.1 </td><td align="left"> <code class="code">__cpp_lib_syncbuf >= 201803L</code> </td></tr><tr><td align="left"> Make <code class="code">std::memory_order</code> a scoped enumeration </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0439r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0439r0.html" target="_top"> P0439R0 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0528r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0528r3.html" target="_top"> P0528R3 </a> </td><td align="center"> 13.1 </td><td align="left"> </td></tr><tr><td align="left"> Atomic <code class="code">shared_ptr</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0718r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0718r2.html" target="_top"> P0718R2 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code"> __cpp_lib_atomic_shared_ptr >= 201711L</code> </td></tr><tr><td align="left"> std::stop_token and std::jthread </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0660r10.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0660r10.pdf" target="_top"> P0660R10 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_jthread >= 201907L</code> </td></tr><tr><td align="left"> Rename <code class="code">condition_variable_any</code> interruptible wait methods </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1869r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1869r1.html" target="_top"> P1869R1 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_jthread >= 201911L</code> </td></tr><tr><td align="left"> Atomic waiting and notifying, std::semaphore, std::latch and std::barrier </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1135r6.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1135r6.html" target="_top"> P1135R6 </a> </td><td align="center"> 11.1 </td><td align="left"> <div class="informaltable"><table class="informaltable" border="0"><colgroup><col /></colgroup><tbody><tr><td> <code class="code">__cpp_lib_atomic_lock_free_type_aliases >= 201907L</code> </td></tr><tr><td> <code class="code">__cpp_lib_atomic_flag_test >= 201907L</code> </td></tr><tr><td> <code class="code">__cpp_lib_atomic_wait >= 201907L</code> </td></tr><tr><td> <code class="code">__cpp_lib_semaphore >= 201907L</code> </td></tr><tr><td> <code class="code">__cpp_lib_latch >= 201907L</code> </td></tr><tr><td> <code class="code">__cpp_lib_barrier >= 201907L</code> </td></tr></tbody></table></div> </td></tr><tr><td align="left"> Fixing Atomic Initialization </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0883r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0883r2.pdf" target="_top"> P0883R2 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_atomic_value_initialization >= 201911L</code> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Ranges and Concepts</strong></span> </td></tr><tr><td align="left"> Standard Library Concepts </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0898r3.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0898r3.pdf" target="_top"> P0898R3 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_concepts >= 201806L</code> </td></tr><tr><td align="left"> Rename concepts to standard_case for C++20, while we still can </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1754r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1754r1.pdf" target="_top"> P1754R1 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_concepts >= 201907L</code> </td></tr><tr><td align="left"> Wording for <span class="emphasis"><em><code class="code">boolean-testable</code></em></span> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1964r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1964r2.html" target="_top"> P1964R2 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_concepts >= 202002L</code> </td></tr><tr><td align="left"> The One Ranges Proposal </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0896r4.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0896r4.pdf" target="_top"> P0896R4 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_ranges >= 201811L</code> </td></tr><tr><td align="left"> Input Range Adaptors </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1035r7.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1035r7.pdf" target="_top"> P1035R7 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_ranges >= 201907L</code> </td></tr><tr><td align="left"> <code class="code">ranges</code> compare algorithm are over-constrained </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1716r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1716r3.html" target="_top"> P1716R3 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_ranges >= 201911L</code> </td></tr><tr><td align="left"> Remove CommonReference requirement from StrictWeakOrdering (a.k.a Fixing Relations) </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1248r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1248r1.html" target="_top"> P1248R1 </a> </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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1252r2.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1739r4.html" target="_top"> + <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"> <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1466r3.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0972r0.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0972r0.pdf" target="_top"> P0972R0 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Three-way comparison</strong></span> </td></tr><tr><td align="left"> Library Support for the Spaceship (Comparison) Operator </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0768r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0768r1.pdf" target="_top"> P0768R1 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_three_way_comparison >= 201711L</code> </td></tr><tr><td align="left"> Symmetry for spaceship </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0905r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0905r1.html" target="_top"> P0905R1 </a> </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> Adding <=> to the standard library </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1614r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1614r2.html" target="_top"> P1614R2 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_three_way_comparison >= 201907L</code> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Strings and text</strong></span> </td></tr><tr><td align="left"> <code class="code">string::reserve</code> Should Not Shrink </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0966r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0966r1.html" target="_top"> P0966R1 </a> </td><td align="center"> 11.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">char8_t</code>: A type for UTF-8 characters and strings </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0482r6.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0482r6.html" target="_top"> P0482R6 </a> </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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1423r3.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0645r10.html" target="_top"> + <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"> <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1361r2.pdf" target="_top"> + <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"> <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1652r1.html" target="_top"> + <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"> <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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0457r2.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1025r1.html" target="_top"> + <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"> <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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0122r7.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0122r7.pdf" target="_top"> P0122R7 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_span >= 201803L</code> </td></tr><tr><td align="left"> Usability Enhancements for <code class="classname">std::span</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1024r3.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1024r3.pdf" target="_top"> P1024R3 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_span >= 201902L</code> </td></tr><tr><td align="left"> Should Span be Regular? </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1085r2.md" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1085r2.md" target="_top"> P1085R2 </a> </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> Fixed-size <code class="code"><span></code> construction from dynamic range </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1976r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1976r2.html" target="_top"> P1976R2 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_span >= 202002L</code> </td></tr><tr><td align="left"> <code class="code">std::to_array</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0325r4.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0325r4.html" target="_top"> P0325R4 </a> </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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0458r2.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0809r0.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0919r3.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1690r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1690r1.html" target="_top"> P1690R1 </a> </td><td align="center"> 11.1 </td><td align="left"> </td></tr><tr><td align="left"> Adopt Consistent Container Erasure from Library Fundamentals 2 for C++20 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1209r0.html" target="_top"> P1209R0 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_erase_if >= 201811L</code> </td></tr><tr><td align="left"> Improving the Return Value of Erase-Like Algorithms </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0646r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0646r1.pdf" target="_top"> P0646R1 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_list_remove_return_type >= 201806L</code> </td></tr><tr><td align="left"> Improving the Return Value of Erase-Like Algorithms II: Free <code class="code">erase</code>/<code class="code">erase_if</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1115r3.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1115r3.pdf" target="_top"> P1115R3 </a> </td><td align="center"> 9.1 </td><td align="left"> <div class="informaltable"><table class="informaltable" border="0"><colgroup><col /></colgroup><tbody><tr><td> <code class="code">__cpp_lib_erase_if >= 202002L</code> </td></tr><tr><td> (defined to <code class="code">201900L</code> for GCC 9.1 and 9.2 so use <code class="code">> 201811L</code>) </td></tr></tbody></table></div> </td></tr><tr><td align="left"> Signed ssize() functions, unsigned size() functions </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1227r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1227r2.html" target="_top"> P1227R2 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_ssize >= 201902L</code> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Memory management</strong></span> </td></tr><tr><td align="left"> Utility to convert a pointer to a raw pointer </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html" target="_top"> P0653R2 </a> </td><td align="center"> 8.1 </td><td align="left"> <code class="code">__cpp_lib_to_address >= 201711L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> Extending <code class="code">make_shared</code> to Support Arrays </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0674r1.html" target="_top"> P0674R1 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_shared_ptr_arrays >= 201707L</code> </td></tr><tr><td align="left"> Efficient sized delete for variable sized classes </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0722r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0722r3.html" target="_top"> P0722R3 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_destroying_delete >= 201806L</code> </td></tr><tr><td align="left"> Utility functions to implement uses-allocator construction </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0591r4.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0591r4.pdf" target="_top"> P0591R4 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">std::scoped_allocator_adaptor</code> changes missing in 9.1.0 </td></tr><tr><td align="left"> <code class="code">std::assume_aligned</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1007r3.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1007r3.pdf" target="_top"> P1007R3 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_assume_aligned >= 201811L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> Smart pointer creation with default initialization </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1020r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1020r1.html" target="_top"> P1020R1 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_smart_ptr_for_overwrite >= 201811L</code> </td></tr><tr><td align="left"> Rename "default_init" Functions </td><td align="left"> <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1973r1.pdf" target="_top"> P1973R1 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_smart_ptr_for_overwrite >= 201811L</code> </td></tr><tr><td align="left"> Make stateful allocator propagation more consistent for <code class="code">operator+(basic_string)</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1165r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1165r1.html" target="_top"> P1165R1 </a> </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="classname">polymorphic_allocator<></code> as a vocabulary type </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0339r6.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0339r6.pdf" target="_top"> P0339R6 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_polymorphic_allocator >= 201902L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> LWG 2511: guaranteed copy elision for piecewise construction </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0475r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0475r1.html" target="_top"> P0475R1 </a> </td><td align="center"> 7.1 </td><td align="left"> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Miscellaneous</strong></span> </td></tr><tr><td align="left"> <code class="code">nodiscard</code> in the Library </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0600r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0600r1.pdf" target="_top"> P0600R1 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> de-pessimize legacy algorithms with <code class="code">std::move</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0616r0.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0616r0.pdf" target="_top"> P0616R0 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> Deprecate POD </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0767r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0767r1.html" target="_top"> P0767R1 </a> </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> Treating Unnecessary <code class="code">decay</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0777r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0777r1.pdf" target="_top"> P0777R1 </a> </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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0551r3.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0476r2.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0556r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0556r3.html" target="_top"> P0556R3 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_int_pow2 >= 201806L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> On the names of low-level bit manipulation functions </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1956r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1956r1.pdf" target="_top"> P1956R1 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_int_pow2 >= 202002L</code> </td></tr><tr><td align="left"> Safe integral comparisons </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0586r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0586r2.html" target="_top"> P0586R2 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_integer_comparison_functions >= 202002L</code> </td></tr><tr><td align="left"> Reviewing Deprecated Facilities of C++17 for C++20 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html" target="_top"> P0619R4 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">fpos</code> Requirements </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0759r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0759r1.html" target="_top"> P0759R1 </a> </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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0769r2.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0788r3.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0892r2.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0935r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0935r0.html" target="_top"> P0935R0 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">std::function</code> move constructor should be <code class="code">noexcept</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0771r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0771r1.pdf" target="_top"> P0771R1 </a> </td><td align="center"> 7.2 </td><td align="left"> </td></tr><tr><td align="left"> Simplified partial function application </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0356r5.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0356r5.html" target="_top"> P0356R5 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_bind_front >= 201811L</code> </td></tr><tr><td align="left"> <code class="code">bind_front</code> should not unwrap <code class="code">reference_wrapper</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1651r0.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1651r0.html" target="_top"> P1651R0 </a> </td><td align="center"> 9.3 </td><td align="left"> <code class="code">__cpp_lib_bind_front >= 201907L</code> </td></tr><tr><td align="left"> <code class="code">reference_wrapper</code> for incomplete types </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0357r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0357r3.html" target="_top"> P0357R3 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> Fixing <code class="code">operator>>(basic_istream&, CharT*)</code> (LWG 2499) </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0487r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0487r1.html" target="_top"> P0487R1 </a> </td><td align="center"> 11.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">variant</code> and <code class="code">optional</code> should propagate copy/move triviality </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0602r4.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0602r4.html" target="_top"> P0602R4 </a> </td><td align="center"> 8.3 </td><td align="left"> </td></tr><tr><td align="left"> A sane <code class="code">variant</code> converting constructor </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0608r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0608r3.html" target="_top"> P0608R3 </a> </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">visit<R></code>: Explicit Return Type for <code class="code">visit</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0655r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0655r1.pdf" target="_top"> P0655R1 </a> </td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr><td align="left"> P0899R1 - LWG 3016 is not a defect </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0899r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0899r1.html" target="_top"> P0899R1 </a> </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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1123r0.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1148r0.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1210r0.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1236r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1236r1.html" target="_top"> P1236R1 </a> </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> I Stream, You Stream, We All Stream for <code class="classname">istream_iterator</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0738r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0738r2.html" target="_top"> P0738R2 </a> </td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td align="left"> Mandating the Standard Library: Clause 16 - Language support library </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1458r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1458r1.pdf" target="_top"> P1458R1 </a> </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> Mandating the Standard Library: Clause 18 - Diagnostics library </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1458r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1458r1.pdf" target="_top"> P1459R1 </a> </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> Mandating the Standard Library: Clause 20 - Strings library </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1462r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1462r1.html" target="_top"> P1462R1 </a> </td><td align="center"> — </td><td align="left"> </td></tr><tr><td align="left"> Mandating the Standard Library: Clause 21 - Containers library </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1463r1.pdf" target="_top"> + <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"> Mandating the Standard Library: Clause 22 - Iterators library </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1464r1.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1164r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1164r1.pdf" target="_top"> P1164R1 </a> </td><td align="center"> 8.3 </td><td align="left"> Treated as a DR for C++17 </td></tr><tr><td align="left"> Target Vectorization Policies from Parallelism V2 TS to C++20 </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1001r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1001r2.html" target="_top"> P1001R2 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_execution >= 201902L</code> (since 9.4, see Note 1)</td></tr><tr><td align="left"> Merge Coroutines TS into C++20 working draft </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0912r5.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0912r5.html" target="_top"> P0912R5 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_coroutines >= 201902L</code> </td></tr><tr><td align="left"> Endian just Endian </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0463r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0463r1.html" target="_top"> P0463R1 </a> </td><td align="center"> 8.1 </td><td align="left"> <code class="code">__cpp_lib_endian >= 201907L</code> </td></tr><tr><td align="left"> Bit operations </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0553r4.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0553r4.html" target="_top"> P0553R4 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_bitops >= 201907L</code> (since 9.4, see Note 1) </td></tr><tr><td align="left"> Well-behaved interpolation for numbers and pointers </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0811r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0811r3.html" target="_top"> P0811R3 </a> </td><td align="center"> 9.1 </td><td align="left"> <code class="code">__cpp_lib_interpolate >= 201902L</code> </td></tr><tr><td align="left"> Mathematical constants </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0631r8.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0631r8.pdf" target="_top"> P0631R8 </a> </td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_math_constants >= 201907L</code> </td></tr><tr><td align="left"> std::source_location </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1208r6.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1208r6.pdf" target="_top"> P1208R6 </a> </td><td align="center"> 11.1 </td><td align="left"> <code class="code">__cpp_lib_source_location >= 201907L</code> </td></tr><tr><td align="left"> Efficient access to std::basic_stringbuf's Buffer </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0408r7.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0408r7.pdf" target="_top"> P0408R7 </a> </td><td align="center"> 11.1 </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /><p> Note 1: This feature is supported in older releases but the @@ -1737,65 +1737,65 @@ or any notes about the implementation. </p><div class="table"><a id="table.cxx23_features"></a><p class="title"><strong>Table 1.10. C++ 2023 Library Features</strong></p><div class="table-contents"><table class="table" summary="C++ 2023 Library Features" border="1"><colgroup><col align="left" class="c1" /><col align="left" class="c2" /><col align="left" class="c3" /><col align="left" class="c4" /></colgroup><thead><tr><th align="left">Library Feature</th><th align="left">Proposal</th><th align="left">Status</th><th align="left">SD-6 Feature Test / Notes</th></tr></thead><tbody><tr><td colspan="4" align="left"> <span class="bold"><strong>Ranges and Views</strong></span> </td></tr><tr><td align="left"> Range constructor for std::string_view </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1989r2.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1989r2.pdf" target="_top"> P1989R2 </a> </td><td align="center"> 11.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">join_view</code> should join all views of ranges </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2328r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2328r1.html" target="_top"> P2328R1 </a> </td><td align="center"> 11.2 </td><td align="left"> </td></tr><tr><td align="left"> Clarifying range adaptor objects </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2281r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2281r1.html" target="_top"> P2281R1 </a> </td><td align="center"> 11.1 </td><td align="left"> </td></tr><tr><td align="left"> Views should not be required to be default constructible </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2325r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2325r3.html" target="_top"> P2325R3 </a> </td><td align="center"> 11.3 </td><td align="left"> <code class="code">__cpp_lib_ranges >= 202106L</code> </td></tr><tr><td align="left"> Conditionally borrowed ranges </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2017r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2017r1.html" target="_top"> P2017R1 </a> </td><td align="center"> 11.1 </td><td align="left"> </td></tr><tr><td align="left"> Require <code class="code">span</code> & <code class="code">basic_string_view</code> to be Trivially Copyable </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2251r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2251r1.pdf" target="_top"> P2251R1 </a> </td><td align="center"> Yes </td><td align="left"> </td></tr><tr><td align="left"> Repairing input range adaptors and counted_iterator </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2259r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2259r1.html" target="_top"> P2259R1 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td align="left"> Superior String Splitting </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2210r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2210r2.html" target="_top"> P2210R2 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td align="left"> What is a <code class="code">view</code>? </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html" target="_top"> P2415R2 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_ranges >= 202110L</code> </td></tr><tr><td align="left"> Fix istream_view </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2432r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2432r1.pdf" target="_top"> P2432R1 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> <code class="code">starts_with</code> and <code class="code">ends_with</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1659r3.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2321r2.html" target="_top"> + <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"> <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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1048r1.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1048r1.pdf" target="_top"> P1048R1 </a> </td><td align="center"> 11.1 </td><td align="left"> <code class="code">__cpp_lib_is_scoped_enum >= 202011L</code> </td></tr><tr><td align="left"> std::to_underlying for enumerations </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1682r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1682r3.html" target="_top"> P1682R3 </a> </td><td align="center"> 11.1 </td><td align="left"> <code class="code">__cpp_lib_to_underlying >= 202102L</code> </td></tr><tr><td align="left"> Missing constexpr in std::optional and std::variant </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2231r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2231r1.html" target="_top"> P2231R1 </a> </td><td align="center"> @@ -1803,117 +1803,117 @@ or any notes about the implementation. </td><td align="left"> <div class="informaltable"><table class="informaltable" border="0"><colgroup><col /></colgroup><tbody><tr><td> <code class="code">__cpp_lib_constexpr_optional >= 202106L</code> </td></tr><tr><td> <code class="code">__cpp_lib_variant >= 202106L</code> </td></tr></tbody></table></div> </td></tr><tr><td align="left"> Making <code class="code">std::unique_ptr</code> constexpr </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2273r3.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2273r3.pdf" target="_top"> P2273R3 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_memory >= 202202L</code> </td></tr><tr><td align="left"> Making <code class="code">std::type_info::operator==</code> constexpr </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1328r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1328r1.html" target="_top"> P1328R1 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_constexpr_typeinfo >= 202106L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> constexpr for <code class="code"><cmath></code> and <code class="code"><cstdlib></code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0533r9.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0533r9.pdf" target="_top"> P0533R9 </a> </td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_constexpr_cmath >= 202202L</code> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Deprecate std::aligned_storage and std::aligned_union </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2255r2.html" target="_top"> + <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"> <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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1679r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1679r3.html" target="_top"> P1679R3 </a> </td><td align="center"> 11.1 </td><td align="left"> <code class="code">__cpp_lib_string_contains >= 202011L</code> </td></tr><tr><td align="left"> Prohibit std::basic_string and std::basic_string_view construction from nullptr </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2166r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2166r1.html" target="_top"> P2166R1 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td align="left"> basic_string::resize_and_overwrite </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1072r10.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1072r10.html" target="_top"> P1072R10 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_resize_and_overwrite >= 202110L</code> </td></tr><tr><td align="left"> A strstream replacement using span<charT> as buffer </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0448r4.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0448r4.pdf" target="_top"> P0448R4 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_spanstream >= 202106L</code> </td></tr><tr><td colspan="4" align="left"> <span class="bold"><strong>Containers</strong></span> </td></tr><tr><td align="left"> Iterator pair constructors for stack and queue </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1425r4.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1425r4.pdf" target="_top"> P1425R4 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_adaptor_iterator_pair_constructor >= 202106L</code> </td></tr><tr><td align="left"> Stop overconstraining allocators in container deduction guides </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1518r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1518r2.html" target="_top"> P1518R2 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><td align="left"> Heterogeneous erasure overloads for associative containers </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2077r3.html" target="_top"> + <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"> <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="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2162r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2162r2.html" target="_top"> P2162R2 </a> </td><td align="center"> 11.3 </td><td align="left"> <code class="code">__cpp_lib_variant >= 202102L</code> </td></tr><tr><td align="left"> Printing <code class="code">volatile</code> Pointers </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1147r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1147r1.html" target="_top"> P1147R1 </a> </td><td align="center"> 11.3 </td><td align="left"> </td></tr><tr><td align="left"> A Proposal to add stacktrace library </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0881r7.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0881r7.html" target="_top"> P0881R7 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_stacktrace >= 202011L</code> </td></tr><tr><td align="left"> Add a pmr alias for std::stacktrace </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2301r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2301r1.html" target="_top"> P2301R1 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr><tr><td align="left"> <code class="code">std::expected</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0323r12.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0798r8.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0288r9.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0288r9.html" target="_top"> P0288R9 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_move_only_function >= 202110L</code> </td></tr><tr><td align="left"> <code class="code">invoke_r</code> </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2136r3.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2136r3.html" target="_top"> P2136R3 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_invoke_r >= 202106L</code> </td></tr><tr><td align="left"> Byteswapping for fun&&nuf </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1272r4.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1272r4.html" target="_top"> P1272R4 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_byteswap >= 202110L</code> </td></tr><tr><td align="left"> Function to mark unreachable code </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0627r6.pdf" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0627r6.pdf" target="_top"> P0627R6 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_unreachable >= 202202L</code> </td></tr><tr><td align="left"> Add a conditional noexcept specification to std::exchange </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2401r0.html" target="_top"> + <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"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0943r6.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p0943r6.html" target="_top"> P0943R6 </a> </td><td align="center"> 12.1 </td><td align="left"> <code class="code">__cpp_lib_stdatomic_h >= 202011L</code> </td></tr><tr><td align="left"> Clarifying the status of the "C headers" </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2340r1.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2340r1.html" target="_top"> P2340R1 </a> </td><td align="center"> Yes </td><td align="left"> </td></tr><tr><td align="left"> Relax Requirements for time_point::clock </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2212r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2212r2.html" target="_top"> P2212R2 </a> </td><td align="center"> Yes </td><td align="left"> </td></tr><tr><td align="left"> Removing Garbage Collection Support </td><td align="left"> - <a class="link" href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2186r2.html" target="_top"> + <a class="link" href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2186r2.html" target="_top"> P2186R2 </a> </td><td align="center"> 12.1 </td><td align="left"> </td></tr></tbody></table></div></div><br class="table-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="status.iso.tr1"></a>C++ TR1</h3></div></div></div><p> |