libstdc++: Fix broken link to SGI STL FAQ
The previous URL to an entry in the wayback machine now redirects to a page saying "SGI.com Tech Archive Resources now retired" so use an older entry from the archive. * doc/xml/faq.xml: Use working link for SGI STL FAQ. * doc/html/*: Regenerate.
This commit is contained in:
parent
bb27781b64
commit
ae8a08ff59
|
@ -1,5 +1,8 @@
|
|||
2020-05-04 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* doc/xml/faq.xml: Use working link for SGI STL FAQ.
|
||||
* doc/html/*: Regenerate.
|
||||
|
||||
PR libstdc++/94906
|
||||
* src/c++17/memory_resource.cc
|
||||
(monotonic_buffer_resource::_Chunk::release): Use size_t for shift
|
||||
|
|
|
@ -194,7 +194,7 @@
|
|||
information is available on the homepage (including how to browse
|
||||
the list archives); to send a message to the list,
|
||||
use <code class="email"><<a class="email" href="mailto:libstdc++@gcc.gnu.org">libstdc++@gcc.gnu.org</a>></code>.
|
||||
</p><p>
|
||||
</p><p>
|
||||
If you have a question that you think should be included
|
||||
here, or if you have a question <span class="emphasis"><em>about</em></span> a question/answer
|
||||
here, please send email to the libstdc++ mailing list, as above.
|
||||
|
@ -246,8 +246,8 @@
|
|||
development tools. It may be necessary to install extra
|
||||
development packages to get the headers, or the documentation, or
|
||||
the source: please consult your vendor for details.
|
||||
</p><p>
|
||||
To build and install from the GNU GCC sources, please consult the
|
||||
</p><p>
|
||||
To build and install from the GNU GCC sources, please consult the
|
||||
<a class="link" href="manual/setup.html" title="Chapter 2. Setup">setup
|
||||
documentation</a> for detailed
|
||||
instructions. You may wish to browse those files ahead
|
||||
|
@ -268,7 +268,7 @@
|
|||
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how_to_test"></a></td><td align="left" valign="top"><p>
|
||||
Libstdc++ comes with its own validation testsuite, which includes
|
||||
conformance testing, regression testing, ABI testing, and
|
||||
performance testing. Please consult the
|
||||
performance testing. Please consult the
|
||||
<a class="link" href="http://gcc.gnu.org/install/test.html" target="_top">testing
|
||||
documentation</a> for GCC and
|
||||
<a class="link" href="manual/test.html" title="Testing">Testing</a> in the libstdc++
|
||||
|
@ -424,12 +424,12 @@
|
|||
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-solaris_long_long"></a></td><td align="left" valign="top"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>This answer is old and probably no longer be relevant.</p></div><p>
|
||||
By default we try to support the C99 <span class="type">long long</span> type.
|
||||
This requires that certain functions from your C library be present.
|
||||
</p><p>
|
||||
</p><p>
|
||||
Up through release 3.0.2 the platform-specific tests performed by
|
||||
libstdc++ were too general, resulting in a conservative approach
|
||||
to enabling the <span class="type">long long</span> code paths. The most
|
||||
commonly reported platform affected was Solaris.
|
||||
</p><p>
|
||||
</p><p>
|
||||
This has been fixed for libstdc++ releases greater than 3.0.3.
|
||||
</p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.predefined"></a><a id="q-predefined"></a><p><strong>4.3.</strong></p></td><td align="left" valign="top"><p>
|
||||
<code class="constant">_XOPEN_SOURCE</code> and <code class="constant">_GNU_SOURCE</code> are always defined?
|
||||
|
@ -484,7 +484,7 @@
|
|||
and later. A patch went in just after the 3.3 release to
|
||||
make mips* use the generic implementation instead. You can also
|
||||
configure for mipsel-elf as a workaround.
|
||||
</p><p>
|
||||
</p><p>
|
||||
The mips*-*-linux* port continues to use the MIPS II routines, and more
|
||||
work in this area is expected.
|
||||
</p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.linux_glibc"></a><a id="q-linux_glibc"></a><p><strong>4.7.</strong></p></td><td align="left" valign="top"><p>
|
||||
|
@ -510,7 +510,7 @@
|
|||
enable <span class="type">wchar_t</span> and C++ library structures
|
||||
like <code class="classname">wstring</code> were present. This impacted Solaris,
|
||||
Darwin, and BSD variants, and is fixed in libstdc++ versions post 4.1.0.
|
||||
</p><p>
|
||||
</p><p>
|
||||
</p></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>5.1. <a href="faq.html#faq.what_works">
|
||||
What works already?
|
||||
</a></dt><dt>5.2. <a href="faq.html#faq.standard_bugs">
|
||||
|
@ -526,8 +526,8 @@
|
|||
platforms. Also dependent on the underlying platform is support
|
||||
for <span class="type">wchar_t</span> and <span class="type">long long</span> specializations,
|
||||
and details of thread support.
|
||||
</p><p>
|
||||
Long answer: See the implementation status pages for
|
||||
</p><p>
|
||||
Long answer: See the implementation status pages for
|
||||
<a class="link" href="manual/status.html#status.iso.1998" title="C++ 1998/2003">C++98</a>,
|
||||
<a class="link" href="manual/status.html#status.iso.tr1" title="C++ TR1">TR1</a>,
|
||||
<a class="link" href="manual/status.html#status.iso.2011" title="C++ 2011">C++11</a>,
|
||||
|
@ -536,7 +536,7 @@
|
|||
</p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.standard_bugs"></a><a id="q-standard_bugs"></a><p><strong>5.2.</strong></p></td><td align="left" valign="top"><p>
|
||||
Bugs in the ISO C++ language or library specification
|
||||
</p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-standard_bugs"></a></td><td align="left" valign="top"><p>
|
||||
Unfortunately, there are some.
|
||||
Unfortunately, there are some.
|
||||
</p><p>
|
||||
For those people who are not part of the ISO Library Group
|
||||
(i.e., nearly all of us needing to read this page in the first
|
||||
|
@ -560,7 +560,7 @@
|
|||
or an older version of the GNU compilers. Third, you can find more
|
||||
information on the libstdc++ and the GCC mailing lists: search
|
||||
these lists with terms describing your issue.
|
||||
</p><p>
|
||||
</p><p>
|
||||
Before reporting a bug, please examine the
|
||||
<a class="link" href="https://gcc.gnu.org/bugs/" target="_top">bugs database</a>, with the
|
||||
component set to <span class="quote">“<span class="quote">c++</span>”</span>.
|
||||
|
@ -813,7 +813,7 @@
|
|||
and <a class="link" href="manual/backwards.html" title="Backwards Compatibility">backwards
|
||||
compatibility</a> documentation.
|
||||
</p><p>
|
||||
The <a class="link" href="https://web.archive.org/web/20171225062613/http://www.sgi.com/tech/stl/FAQ.html" target="_top">FAQ</a>
|
||||
The <a class="link" href="https://web.archive.org/web/20171104092813/http://www.sgi.com/tech/stl/FAQ.html" target="_top">FAQ</a>
|
||||
for SGI's STL is still recommended reading.
|
||||
</p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.extensions_and_backwards_compat"></a><a id="q-extensions_and_backwards_compat"></a><p><strong>7.4.</strong></p></td><td align="left" valign="top"><p>
|
||||
Extensions and Backward Compatibility
|
||||
|
|
|
@ -1107,435 +1107,435 @@ The "SD-6 Feature Test / Notes" column shows the corresponding macro or header f
|
|||
Feature-testing recommendations for C++</a> (where applicable)
|
||||
or any notes about the implementation.
|
||||
</p><div class="table"><a id="table.cxx20_features"></a><p class="title"><strong>Table 1.8. 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>
|
||||
<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">
|
||||
P0202R3 </a>
|
||||
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">
|
||||
P0879R0 </a>
|
||||
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">
|
||||
P0415R1 </a>
|
||||
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"> P0595R2 <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">
|
||||
P0595R2 </a>
|
||||
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">
|
||||
P0784R7 </a>
|
||||
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 bgcolor="#C8B0B0"><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">
|
||||
P0980R1 </a>
|
||||
P0980R1 </a>
|
||||
</td><td align="left"> </td><td align="left"> <code class="code">__cpp_lib_constexpr_string >= 201907L</code> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P1004R2 </a>
|
||||
P1004R2 </a>
|
||||
</td><td align="left"> </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">
|
||||
P1006R1 </a>
|
||||
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">
|
||||
P1645R1 </a>
|
||||
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">
|
||||
P0858R0 </a>
|
||||
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">
|
||||
<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">
|
||||
P1023R0 </a>
|
||||
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">
|
||||
P1032R1 </a>
|
||||
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">
|
||||
<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">
|
||||
P1065R2 </a>
|
||||
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">
|
||||
P0550R2 </a>
|
||||
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">
|
||||
P0758R1 </a>
|
||||
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">
|
||||
P0887R1 </a>
|
||||
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">
|
||||
P0318R1 </a>
|
||||
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">
|
||||
P1285R0 </a>
|
||||
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">
|
||||
P1353R0 </a>
|
||||
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">
|
||||
P0340R3 </a>
|
||||
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">
|
||||
P1357R1 </a>
|
||||
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 bgcolor="#C8B0B0"><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">
|
||||
P0466R5 </a>
|
||||
P0466R5 </a>
|
||||
</td><td align="center"> </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>
|
||||
<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">
|
||||
P0941R2 </a>
|
||||
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">
|
||||
P0754R2 </a>
|
||||
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>
|
||||
<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">
|
||||
P0019R8 </a>
|
||||
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">
|
||||
P0020R6 </a>
|
||||
P0020R6 </a>
|
||||
</td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_atomic_float >= 201711L</code> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0053R7 </a>
|
||||
P0053R7 </a>
|
||||
</td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_syncbuf >= 201711L</code> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0753R2 </a>
|
||||
P0753R2 </a>
|
||||
</td><td align="center"> </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">
|
||||
P0439R0 </a>
|
||||
P0439R0 </a>
|
||||
</td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0528R3 </a>
|
||||
P0528R3 </a>
|
||||
</td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0718R2 </a>
|
||||
P0718R2 </a>
|
||||
</td><td align="center"> </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">
|
||||
P0660R10 </a>
|
||||
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">
|
||||
P1869R1 </a>
|
||||
P1869R1 </a>
|
||||
</td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_jthread >= 201911L</code> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P1135R6 </a>
|
||||
P1135R6 </a>
|
||||
</td><td align="center"> </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>
|
||||
<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">
|
||||
P0883R2 </a>
|
||||
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>
|
||||
<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">
|
||||
P0898R3 </a>
|
||||
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">
|
||||
P1754R1 </a>
|
||||
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">
|
||||
P1964R2 </a>
|
||||
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">
|
||||
P0896R4 </a>
|
||||
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">
|
||||
P1035R7 </a>
|
||||
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">
|
||||
P1716R3 </a>
|
||||
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">
|
||||
P1248R1 </a>
|
||||
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">
|
||||
P1252R2 </a>
|
||||
P1252R2 </a>
|
||||
</td><td align="center"> 10.1 </td><td align="left"> </td></tr><tr><td colspan="4" align="left">
|
||||
<span class="bold"><strong>Time, dates, calendars, time zones</strong></span>
|
||||
<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">
|
||||
P0355R7 </a>
|
||||
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">
|
||||
P1466R3 </a>
|
||||
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">
|
||||
P0972R0 </a>
|
||||
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>
|
||||
<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">
|
||||
P0768R1 </a>
|
||||
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">
|
||||
P0905R1 </a>
|
||||
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">
|
||||
P1614R2 </a>
|
||||
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>
|
||||
<span class="bold"><strong>Strings and text</strong></span>
|
||||
</td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0966R1 </a>
|
||||
P0966R1 </a>
|
||||
</td><td align="center"> </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">
|
||||
P0482R6 </a>
|
||||
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">
|
||||
P1423R3 </a>
|
||||
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">
|
||||
P0645R10 </a>
|
||||
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">
|
||||
P1361R2 </a>
|
||||
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">
|
||||
P1652R1 </a>
|
||||
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">
|
||||
P0457R2 </a>
|
||||
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">
|
||||
P1025R1 </a>
|
||||
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>
|
||||
<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">
|
||||
P0122R7 </a>
|
||||
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">
|
||||
P1024R3 </a>
|
||||
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">
|
||||
P1085R2 </a>
|
||||
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">
|
||||
P1976R2 </a>
|
||||
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">
|
||||
P0325R4 </a>
|
||||
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">
|
||||
P0458R2 </a>
|
||||
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">
|
||||
P0809R0 </a>
|
||||
P0809R0 </a>
|
||||
</td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0919R3 </a>
|
||||
P0919R3 </a>
|
||||
</td><td align="center"> </td><td align="left"> <code class="code">__cpp_lib_generic_unordered_lookup >= 201811</code> </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">
|
||||
P1209R0 </a>
|
||||
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">
|
||||
P0646R1 </a>
|
||||
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">
|
||||
P1115R3 </a>
|
||||
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">
|
||||
<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">
|
||||
P1227R2 </a>
|
||||
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>
|
||||
<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">
|
||||
P0653R2 </a>
|
||||
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 bgcolor="#C8B0B0"><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">
|
||||
P0674R1 </a>
|
||||
P0674R1 </a>
|
||||
</td><td align="center"> </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">
|
||||
P0722R3 </a>
|
||||
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">
|
||||
P0591R4 </a>
|
||||
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">
|
||||
P1007R3 </a>
|
||||
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 bgcolor="#C8B0B0"><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">
|
||||
P1020R1 </a>
|
||||
P1020R1 </a>
|
||||
</td><td align="center"> </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">
|
||||
P1165R1 </a>
|
||||
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">
|
||||
P0339R6 </a>
|
||||
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">
|
||||
<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">
|
||||
P0475R1 </a>
|
||||
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>
|
||||
<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">
|
||||
P0600R1 </a>
|
||||
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">
|
||||
P0616R0 </a>
|
||||
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">
|
||||
P0767R1 </a>
|
||||
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">
|
||||
P0777R1 </a>
|
||||
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">
|
||||
P0551R3 </a>
|
||||
P0551R3 </a>
|
||||
</td><td align="center"> </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0476R2 </a>
|
||||
P0476R2 </a>
|
||||
</td><td align="center"> </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">
|
||||
P0556R3 </a>
|
||||
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">
|
||||
P1956R1 </a>
|
||||
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">
|
||||
P0586R2 </a>
|
||||
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 bgcolor="#C8B0B0"><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">
|
||||
P0619R4 </a>
|
||||
P0619R4 </a>
|
||||
</td><td align="center"> </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">
|
||||
P0759R1 </a>
|
||||
P0759R1 </a>
|
||||
</td><td align="center"> — </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0769R2 </a>
|
||||
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">
|
||||
P0788R3 </a>
|
||||
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">
|
||||
P0892R2 </a>
|
||||
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">
|
||||
P0935R0 </a>
|
||||
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">
|
||||
P0771R1 </a>
|
||||
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">
|
||||
P0356R5 </a>
|
||||
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">
|
||||
P1651R0 </a>
|
||||
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">
|
||||
P0357R3 </a>
|
||||
P0357R3 </a>
|
||||
</td><td align="center"> 9.1 </td><td align="left"> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0487R1 </a>
|
||||
P0487R1 </a>
|
||||
</td><td align="center"> </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">
|
||||
P0602R4 </a>
|
||||
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">
|
||||
P0608R3 </a>
|
||||
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">
|
||||
P0655R1 </a>
|
||||
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">
|
||||
P0899R1 </a>
|
||||
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">
|
||||
P1123R0 </a>
|
||||
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">
|
||||
P1148R0 </a>
|
||||
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">
|
||||
P1210R0 </a>
|
||||
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">
|
||||
P1236R1 </a>
|
||||
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">
|
||||
P0738R2 </a>
|
||||
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">
|
||||
P1458R1 </a>
|
||||
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">
|
||||
P1459R1 </a>
|
||||
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">
|
||||
P1462R1 </a>
|
||||
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">
|
||||
P1463R1 </a>
|
||||
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">
|
||||
P1464R1 </a>
|
||||
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">
|
||||
P1164R1
|
||||
</a>
|
||||
</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">
|
||||
P1001R2 </a>
|
||||
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">
|
||||
P0912R5 </a>
|
||||
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">
|
||||
P0463R1 </a>
|
||||
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">
|
||||
P0553R4 </a>
|
||||
P0553R4 </a>
|
||||
</td><td align="center"> 10.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">
|
||||
P0811R3 </a>
|
||||
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">
|
||||
P0631R8 </a>
|
||||
P0631R8 </a>
|
||||
</td><td align="center"> 10.1 </td><td align="left"> <code class="code">__cpp_lib_math_constants >= 201907L</code> </td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P1208R6 </a>
|
||||
P1208R6 </a>
|
||||
</td><td align="center"> </td><td align="left">
|
||||
<code class="code">__cpp_lib_source_location >= 201907L</code>
|
||||
</td></tr><tr bgcolor="#C8B0B0"><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">
|
||||
P0408R7 </a>
|
||||
P0408R7 </a>
|
||||
</td><td align="center"> </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
|
||||
<code class="code">__cpp_lib</code> macro is not defined to the right value
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
<article xml:id="faq" xreflabel="Frequently Asked Questions">
|
||||
<?dbhtml filename="faq.html"?>
|
||||
|
||||
|
||||
<info><title>Frequently Asked Questions</title>
|
||||
|
||||
|
||||
<copyright>
|
||||
<year>
|
||||
2008-2018
|
||||
|
@ -36,7 +36,7 @@
|
|||
exactly how far the project has come, or just want the latest
|
||||
bleeding-edge code, the up-to-date source can be cloned via
|
||||
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://gcc.gnu.org/git.html">Git</link>.
|
||||
</para>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
N.B. The library is called libstdc++ <emphasis>not</emphasis> stdlibc++.
|
||||
|
@ -58,7 +58,7 @@
|
|||
(as the Draft Standard used to say) <quote>incomplet and
|
||||
incorrekt</quote>, and many suffered from limitations of the compilers
|
||||
that used them.
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
The GNU compiler collection
|
||||
(<command>gcc</command>, <command>g++</command>, etc) is widely
|
||||
|
@ -68,7 +68,7 @@
|
|||
the rapid development and near-legendary
|
||||
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://gcc.gnu.org/buildstat.html">portability</link>
|
||||
that are the hallmarks of an open-source project are applied to libstdc++.
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
All of the standard classes and functions from C++98/C++03, C++11 and C++14
|
||||
(such as <classname>string</classname>,
|
||||
|
@ -100,7 +100,7 @@
|
|||
archives, is open to everyone. You can read instructions for
|
||||
doing so on the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://gcc.gnu.org/lists.html">GCC mailing lists</link> page.
|
||||
If you have questions, ideas, code, or are just curious, sign up!
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -115,7 +115,7 @@
|
|||
Nathan Myers gave the best of all possible answers, responding to
|
||||
a Usenet article asking this question: <emphasis>Sooner, if you
|
||||
help.</emphasis>
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -135,7 +135,7 @@
|
|||
anybody who is willing to help write documentation, for example,
|
||||
or has found a bug in code that we all thought was working and is
|
||||
willing to provide details, is more than welcome!
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -152,7 +152,7 @@
|
|||
being developed.</quote>
|
||||
It should not be used for new projects, and won't even compile with
|
||||
recent releases of GCC (or most other C++ compilers).
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
More information can be found in the
|
||||
<link linkend="manual.appendix.porting.backwards">Backwards
|
||||
|
@ -175,13 +175,13 @@
|
|||
information is available on the homepage (including how to browse
|
||||
the list archives); to send a message to the list,
|
||||
use <email>libstdc++@gcc.gnu.org</email>.
|
||||
</para>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<para>
|
||||
If you have a question that you think should be included
|
||||
here, or if you have a question <emphasis>about</emphasis> a question/answer
|
||||
here, please send email to the libstdc++ mailing list, as above.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -201,7 +201,7 @@
|
|||
<para>
|
||||
See <link linkend="manual.intro.status.license">our license description</link>
|
||||
for these and related questions.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -215,7 +215,7 @@
|
|||
<para>
|
||||
No. The special exception permits use of the library in
|
||||
proprietary applications.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -235,7 +235,7 @@
|
|||
are expanded inside the code that uses the library. So to allow people
|
||||
to replace the library code, someone using the library would have to
|
||||
distribute their own source, rendering the LGPL equivalent to the GPL.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -249,7 +249,7 @@
|
|||
<para>
|
||||
None. We encourage such programs to be released as free software,
|
||||
but we won't punish you or sue you if you choose otherwise.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -271,14 +271,14 @@
|
|||
development tools. It may be necessary to install extra
|
||||
development packages to get the headers, or the documentation, or
|
||||
the source: please consult your vendor for details.
|
||||
</para>
|
||||
<para>
|
||||
To build and install from the GNU GCC sources, please consult the
|
||||
</para>
|
||||
<para>
|
||||
To build and install from the GNU GCC sources, please consult the
|
||||
<link linkend="manual.intro.setup">setup
|
||||
documentation</link> for detailed
|
||||
instructions. You may wish to browse those files ahead
|
||||
of time to get a feel for what's required.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -313,12 +313,12 @@
|
|||
<para>
|
||||
Libstdc++ comes with its own validation testsuite, which includes
|
||||
conformance testing, regression testing, ABI testing, and
|
||||
performance testing. Please consult the
|
||||
performance testing. Please consult the
|
||||
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/test.html">testing
|
||||
documentation</link> for GCC and
|
||||
<link linkend="manual.intro.setup.test">Testing</link> in the libstdc++
|
||||
manual for more details.
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
If you find bugs in the testsuite programs themselves, or if you
|
||||
think of a new test program that should be added to the suite,
|
||||
|
@ -432,7 +432,7 @@
|
|||
using anything from the rest of the library, such as IOStreams
|
||||
or vectors, then you'll still need pieces from
|
||||
<filename class="libraryfile">libstdc++.a</filename>.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -465,7 +465,7 @@
|
|||
is only possible to a certain extent; the object files in question contain
|
||||
template classes and template functions, pre-instantiated, and
|
||||
splitting those up causes severe maintenance headaches.
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
On supported platforms, libstdc++ takes advantage of garbage
|
||||
collection in the GNU linker to get a result similar to separating
|
||||
|
@ -495,12 +495,12 @@
|
|||
<answer xml:id="a-other_compilers">
|
||||
<para>
|
||||
Perhaps.
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
Since the goal of ISO Standardization is for all C++
|
||||
implementations to be able to share code, libstdc++ should be
|
||||
usable under any ISO-compliant compiler, at least in theory.
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
However, the reality is that libstdc++ is targeted and optimized
|
||||
for GCC/G++. This means that often libstdc++ uses specific,
|
||||
|
@ -515,7 +515,7 @@
|
|||
been known to work with versions of the EDG C++ compiler, and
|
||||
vendor-specific proprietary C++ compilers such as the Intel ICC
|
||||
C++ compiler.
|
||||
</para>
|
||||
</para>
|
||||
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
@ -533,16 +533,16 @@
|
|||
<para>
|
||||
By default we try to support the C99 <type>long long</type> type.
|
||||
This requires that certain functions from your C library be present.
|
||||
</para>
|
||||
<para>
|
||||
</para>
|
||||
<para>
|
||||
Up through release 3.0.2 the platform-specific tests performed by
|
||||
libstdc++ were too general, resulting in a conservative approach
|
||||
to enabling the <type>long long</type> code paths. The most
|
||||
commonly reported platform affected was Solaris.
|
||||
</para>
|
||||
<para>
|
||||
</para>
|
||||
<para>
|
||||
This has been fixed for libstdc++ releases greater than 3.0.3.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -651,10 +651,10 @@
|
|||
make mips* use the generic implementation instead. You can also
|
||||
configure for mipsel-elf as a workaround.
|
||||
</para>
|
||||
<para>
|
||||
<para>
|
||||
The mips*-*-linux* port continues to use the MIPS II routines, and more
|
||||
work in this area is expected.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -700,9 +700,9 @@
|
|||
enable <type>wchar_t</type> and C++ library structures
|
||||
like <classname>wstring</classname> were present. This impacted Solaris,
|
||||
Darwin, and BSD variants, and is fixed in libstdc++ versions post 4.1.0.
|
||||
</para>
|
||||
<para>
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -728,14 +728,14 @@
|
|||
for <type>wchar_t</type> and <type>long long</type> specializations,
|
||||
and details of thread support.
|
||||
</para>
|
||||
<para>
|
||||
Long answer: See the implementation status pages for
|
||||
<para>
|
||||
Long answer: See the implementation status pages for
|
||||
<link linkend="status.iso.1998">C++98</link>,
|
||||
<link linkend="status.iso.tr1">TR1</link>,
|
||||
<link linkend="status.iso.2011">C++11</link>,
|
||||
<link linkend="status.iso.2014">C++14</link>, and
|
||||
<link linkend="status.iso.2017">C++17</link>.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -747,7 +747,7 @@
|
|||
</question>
|
||||
<answer xml:id="a-standard_bugs">
|
||||
<para>
|
||||
Unfortunately, there are some.
|
||||
Unfortunately, there are some.
|
||||
</para>
|
||||
<para>
|
||||
For those people who are not part of the ISO Library Group
|
||||
|
@ -758,7 +758,7 @@
|
|||
website</link>.
|
||||
Many of these issues have resulted in
|
||||
<link linkend="manual.intro.status.bugs.iso">code changes in libstdc++</link>.
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
If you think you've discovered a new bug that is not listed,
|
||||
please post a message describing your problem to the author of
|
||||
|
@ -784,12 +784,12 @@
|
|||
or an older version of the GNU compilers. Third, you can find more
|
||||
information on the libstdc++ and the GCC mailing lists: search
|
||||
these lists with terms describing your issue.
|
||||
</para>
|
||||
<para>
|
||||
</para>
|
||||
<para>
|
||||
Before reporting a bug, please examine the
|
||||
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://gcc.gnu.org/bugs/">bugs database</link>, with the
|
||||
component set to <quote>c++</quote>.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -824,7 +824,7 @@
|
|||
fs.close();
|
||||
fs.open("a_new_file");
|
||||
</programlisting>
|
||||
|
||||
|
||||
<para>
|
||||
All operations on the re-opened <varname>fs</varname> would fail, or at
|
||||
least act very strangely, especially if <varname>fs</varname> reached the
|
||||
|
@ -840,7 +840,7 @@
|
|||
of <link linkend="manual.bugs.dr409">DR #409</link> and
|
||||
<function>open()</function>
|
||||
now calls <function>clear()</function> on success.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -859,7 +859,7 @@
|
|||
necessarily trying to be OO. The option also enforces outdated guidelines
|
||||
from old editions of the books, and the advice isn't all relevant to
|
||||
modern C++ (especially C++11 and later).
|
||||
</para>
|
||||
</para>
|
||||
<para>
|
||||
We do, however, try to have libstdc++ sources as clean as possible. If
|
||||
you see some simple changes that pacify <option>-Weffc++</option>
|
||||
|
@ -889,7 +889,7 @@
|
|||
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2001-01/msg00247.html">sums
|
||||
things up here</link>. The collisions with vector/string iterator
|
||||
types have been fixed for 3.1.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -947,7 +947,7 @@
|
|||
checks, is available in the
|
||||
<link linkend="std.diagnostics.concept_checking">Diagnostics</link>.
|
||||
chapter of the manual.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1013,7 +1013,7 @@
|
|||
want to test the library for memory leaks please read
|
||||
<link linkend="debug.memory">Tips for memory leak hunting</link>
|
||||
first.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1028,7 +1028,7 @@
|
|||
See
|
||||
the <link linkend="std.containers">Containers</link>
|
||||
chapter.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1056,7 +1056,7 @@
|
|||
fixes. Bugs have a way of being reintroduced; if an old bug
|
||||
creeps back in, it will be caught immediately by the testsuite -
|
||||
but only if such a test exists.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1150,9 +1150,9 @@
|
|||
compatibility</link> documentation.
|
||||
</para>
|
||||
<para>
|
||||
The <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://web.archive.org/web/20171225062613/http://www.sgi.com/tech/stl/FAQ.html">FAQ</link>
|
||||
The <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://web.archive.org/web/20171104092813/http://www.sgi.com/tech/stl/FAQ.html">FAQ</link>
|
||||
for SGI's STL is still recommended reading.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1165,7 +1165,7 @@
|
|||
<answer xml:id="a-extensions_and_backwards_compat">
|
||||
<para>
|
||||
See the <link linkend="manual.appendix.porting.backwards">link</link> on backwards compatibility and <link linkend="appendix.porting.api">link</link> on evolution.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1206,7 +1206,7 @@
|
|||
<para>
|
||||
Please refer to the <link linkend="appendix.contrib">Contributing</link>
|
||||
section in our manual.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1272,7 +1272,7 @@
|
|||
so they may later be changed. Deciding which, and implementing
|
||||
the decisions, must happen before you can reasonably document a
|
||||
candidate C++ ABI that encompasses the standard library.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1302,7 +1302,7 @@
|
|||
<para>
|
||||
See <link linkend="strings.string.shrink">Shrink-to-fit
|
||||
strings</link> for a similar solution for strings.
|
||||
</para>
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
|
Loading…
Reference in New Issue